Chris@16: Chris@93: module yetilab.stream.test.test_framer; Chris@16: Chris@93: fr = load yetilab.stream.framer; Chris@93: block = load yetilab.block.block; Chris@158: mat = load yetilab.matrix.matrix; Chris@23: Chris@158: { compare, compareUsing, testStream } = load yetilab.test.test; Chris@158: Chris@158: compareFrames frames1 frames2 = Chris@158: all id (map2 do f1 f2: compareUsing mat.equal f1 f2 done frames1 Chris@163: (map (mat.newRowVector . block.fromList) frames2)); Chris@53: Chris@53: [ Chris@16: Chris@23: "framecount-2x2": \( Chris@53: fr = fr.frames { framesize = 2, hop = 2 } (testStream 2); Chris@53: compare (length fr) 1 Chris@16: ), Chris@16: Chris@23: "framecount-2x3": \( Chris@53: fr = fr.frames { framesize = 2, hop = 2 } (testStream 3); Chris@53: compare (length fr) 2 Chris@16: ), Chris@16: Chris@23: "framecount-2x4": \( Chris@53: fr = fr.frames { framesize = 2, hop = 2 } (testStream 4); Chris@53: compare (length fr) 2 Chris@23: ), Chris@23: Chris@23: "framecount-2.1x0": \( Chris@53: fr = fr.frames { framesize = 2, hop = 1 } (testStream 0); Chris@53: compare (length fr) 1 Chris@23: ), Chris@23: Chris@23: "framecount-2.1x1": \( Chris@53: fr = fr.frames { framesize = 2, hop = 1 } (testStream 1); Chris@53: compare (length fr) 2 Chris@23: ), Chris@23: Chris@23: "framecount-2.1x2": \( Chris@53: fr = fr.frames { framesize = 2, hop = 1 } (testStream 2); Chris@53: compare (length fr) 3 Chris@23: ), Chris@23: Chris@23: "framecount-2.1x3": \( Chris@53: fr = fr.frames { framesize = 2, hop = 1 } (testStream 3); Chris@53: compare (length fr) 4 Chris@23: ), Chris@23: Chris@23: "framecount-4.1x4": \( Chris@53: fr = fr.frames { framesize = 4, hop = 1 } (testStream 4); Chris@53: compare (length fr) 7 Chris@23: ), Chris@23: Chris@23: "framecount-4.3x4": \( Chris@53: fr = fr.frames { framesize = 4, hop = 3 } (testStream 4); Chris@53: compare (length fr) 2 Chris@23: ), Chris@23: Chris@23: "framecount-4.4x4": \( Chris@53: fr = fr.frames { framesize = 4, hop = 4 } (testStream 4); Chris@53: compare (length fr) 1 Chris@23: ), Chris@23: Chris@23: "framecount-3.2x4": \( Chris@53: fr = fr.frames { framesize = 3, hop = 2 } (testStream 4); Chris@53: compare (length fr) 3 Chris@23: ), Chris@23: Chris@24: "frames-2x5": \( Chris@53: fr = fr.frames { framesize = 2, hop = 2 } (testStream 5); Chris@31: expected = [ [1,2], [3,4], [5,0] ]; Chris@158: compareFrames fr expected; Chris@24: ), Chris@24: Chris@23: "frames-4.3x4": \( Chris@53: fr = fr.frames { framesize = 4, hop = 3 } (testStream 4); Chris@31: expected = [ [0,1,2,3], [3,4,0,0] ]; Chris@158: compareFrames fr expected; Chris@23: ), Chris@23: Chris@23: "frames-3.2x4": \( Chris@53: fr = fr.frames { framesize = 3, hop = 2 } (testStream 4); Chris@31: expected = [ [0,1,2], [2,3,4], [4,0,0] ]; Chris@158: compareFrames fr expected; Chris@23: ), Chris@23: Chris@23: "frames-3.1x6": \( Chris@53: fr = fr.frames { framesize = 3, hop = 1 } (testStream 6); Chris@31: expected = [ [0,0,1], [0,1,2], [1,2,3], [2,3,4], Chris@31: [3,4,5], [4,5,6], [5,6,0], [6,0,0] ]; Chris@158: compareFrames fr expected; Chris@16: ), Chris@16: Chris@53: ] is hash boolean>; Chris@16: Chris@16: Chris@27: