Chris@16
|
1
|
Chris@93
|
2 module yetilab.stream.test.test_framer;
|
Chris@16
|
3
|
Chris@93
|
4 fr = load yetilab.stream.framer;
|
Chris@93
|
5 block = load yetilab.block.block;
|
Chris@158
|
6 mat = load yetilab.matrix.matrix;
|
Chris@176
|
7 syn = load yetilab.stream.syntheticstream;
|
Chris@23
|
8
|
Chris@176
|
9 { compare, compareUsing } = load yetilab.test.test;
|
Chris@176
|
10
|
Chris@176
|
11 testStream n is number -> 'a = syn.precalculated 1000 (block.fromList [1..n]);
|
Chris@158
|
12
|
Chris@158
|
13 compareFrames frames1 frames2 =
|
Chris@158
|
14 all id (map2 do f1 f2: compareUsing mat.equal f1 f2 done frames1
|
Chris@163
|
15 (map (mat.newRowVector . block.fromList) frames2));
|
Chris@53
|
16
|
Chris@53
|
17 [
|
Chris@16
|
18
|
Chris@23
|
19 "framecount-2x2": \(
|
Chris@53
|
20 fr = fr.frames { framesize = 2, hop = 2 } (testStream 2);
|
Chris@53
|
21 compare (length fr) 1
|
Chris@16
|
22 ),
|
Chris@16
|
23
|
Chris@23
|
24 "framecount-2x3": \(
|
Chris@53
|
25 fr = fr.frames { framesize = 2, hop = 2 } (testStream 3);
|
Chris@53
|
26 compare (length fr) 2
|
Chris@16
|
27 ),
|
Chris@16
|
28
|
Chris@23
|
29 "framecount-2x4": \(
|
Chris@53
|
30 fr = fr.frames { framesize = 2, hop = 2 } (testStream 4);
|
Chris@53
|
31 compare (length fr) 2
|
Chris@23
|
32 ),
|
Chris@23
|
33
|
Chris@23
|
34 "framecount-2.1x0": \(
|
Chris@53
|
35 fr = fr.frames { framesize = 2, hop = 1 } (testStream 0);
|
Chris@53
|
36 compare (length fr) 1
|
Chris@23
|
37 ),
|
Chris@23
|
38
|
Chris@23
|
39 "framecount-2.1x1": \(
|
Chris@53
|
40 fr = fr.frames { framesize = 2, hop = 1 } (testStream 1);
|
Chris@53
|
41 compare (length fr) 2
|
Chris@23
|
42 ),
|
Chris@23
|
43
|
Chris@23
|
44 "framecount-2.1x2": \(
|
Chris@53
|
45 fr = fr.frames { framesize = 2, hop = 1 } (testStream 2);
|
Chris@53
|
46 compare (length fr) 3
|
Chris@23
|
47 ),
|
Chris@23
|
48
|
Chris@23
|
49 "framecount-2.1x3": \(
|
Chris@53
|
50 fr = fr.frames { framesize = 2, hop = 1 } (testStream 3);
|
Chris@53
|
51 compare (length fr) 4
|
Chris@23
|
52 ),
|
Chris@23
|
53
|
Chris@23
|
54 "framecount-4.1x4": \(
|
Chris@53
|
55 fr = fr.frames { framesize = 4, hop = 1 } (testStream 4);
|
Chris@53
|
56 compare (length fr) 7
|
Chris@23
|
57 ),
|
Chris@23
|
58
|
Chris@23
|
59 "framecount-4.3x4": \(
|
Chris@53
|
60 fr = fr.frames { framesize = 4, hop = 3 } (testStream 4);
|
Chris@53
|
61 compare (length fr) 2
|
Chris@23
|
62 ),
|
Chris@23
|
63
|
Chris@23
|
64 "framecount-4.4x4": \(
|
Chris@53
|
65 fr = fr.frames { framesize = 4, hop = 4 } (testStream 4);
|
Chris@53
|
66 compare (length fr) 1
|
Chris@23
|
67 ),
|
Chris@23
|
68
|
Chris@23
|
69 "framecount-3.2x4": \(
|
Chris@53
|
70 fr = fr.frames { framesize = 3, hop = 2 } (testStream 4);
|
Chris@53
|
71 compare (length fr) 3
|
Chris@23
|
72 ),
|
Chris@23
|
73
|
Chris@24
|
74 "frames-2x5": \(
|
Chris@53
|
75 fr = fr.frames { framesize = 2, hop = 2 } (testStream 5);
|
Chris@31
|
76 expected = [ [1,2], [3,4], [5,0] ];
|
Chris@158
|
77 compareFrames fr expected;
|
Chris@24
|
78 ),
|
Chris@24
|
79
|
Chris@23
|
80 "frames-4.3x4": \(
|
Chris@53
|
81 fr = fr.frames { framesize = 4, hop = 3 } (testStream 4);
|
Chris@31
|
82 expected = [ [0,1,2,3], [3,4,0,0] ];
|
Chris@158
|
83 compareFrames fr expected;
|
Chris@23
|
84 ),
|
Chris@23
|
85
|
Chris@23
|
86 "frames-3.2x4": \(
|
Chris@53
|
87 fr = fr.frames { framesize = 3, hop = 2 } (testStream 4);
|
Chris@31
|
88 expected = [ [0,1,2], [2,3,4], [4,0,0] ];
|
Chris@158
|
89 compareFrames fr expected;
|
Chris@23
|
90 ),
|
Chris@23
|
91
|
Chris@23
|
92 "frames-3.1x6": \(
|
Chris@53
|
93 fr = fr.frames { framesize = 3, hop = 1 } (testStream 6);
|
Chris@31
|
94 expected = [ [0,0,1], [0,1,2], [1,2,3], [2,3,4],
|
Chris@31
|
95 [3,4,5], [4,5,6], [5,6,0], [6,0,0] ];
|
Chris@158
|
96 compareFrames fr expected;
|
Chris@16
|
97 ),
|
Chris@16
|
98
|
Chris@53
|
99 ] is hash<string, () -> boolean>;
|
Chris@16
|
100
|
Chris@16
|
101
|
Chris@27
|
102
|