annotate yetilab/stream/test/test_framer.yeti @ 178:032c4986b6b0

Implement and test matrix concat
author Chris Cannam
date Thu, 02 May 2013 21:58:58 +0100
parents 344f0fefa00c
children 26111c11d8e4
rev   line source
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