view 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
line wrap: on
line source

module yetilab.stream.test.test_framer;

fr = load yetilab.stream.framer;
block = load yetilab.block.block;
mat = load yetilab.matrix.matrix;
syn = load yetilab.stream.syntheticstream;

{ compare, compareUsing } = load yetilab.test.test;

testStream n is number -> 'a  = syn.precalculated 1000 (block.fromList [1..n]);

compareFrames frames1 frames2 =
    all id (map2 do f1 f2: compareUsing mat.equal f1 f2 done frames1
       (map (mat.newRowVector . block.fromList) frames2));

[

"framecount-2x2": \( 
    fr = fr.frames { framesize = 2, hop = 2 } (testStream 2);
    compare (length fr) 1
),

"framecount-2x3": \( 
    fr = fr.frames { framesize = 2, hop = 2 } (testStream 3);
    compare (length fr) 2
),

"framecount-2x4": \( 
    fr = fr.frames { framesize = 2, hop = 2 } (testStream 4);
    compare (length fr) 2
),

"framecount-2.1x0": \( 
    fr = fr.frames { framesize = 2, hop = 1 } (testStream 0);
    compare (length fr) 1
),

"framecount-2.1x1": \( 
    fr = fr.frames { framesize = 2, hop = 1 } (testStream 1);
    compare (length fr) 2
),

"framecount-2.1x2": \( 
    fr = fr.frames { framesize = 2, hop = 1 } (testStream 2);
    compare (length fr) 3
),

"framecount-2.1x3": \( 
    fr = fr.frames { framesize = 2, hop = 1 } (testStream 3);
    compare (length fr) 4
),

"framecount-4.1x4": \( 
    fr = fr.frames { framesize = 4, hop = 1 } (testStream 4);
    compare (length fr) 7
),

"framecount-4.3x4": \( 
    fr = fr.frames { framesize = 4, hop = 3 } (testStream 4);
    compare (length fr) 2 
),

"framecount-4.4x4": \( 
    fr = fr.frames { framesize = 4, hop = 4 } (testStream 4);
    compare (length fr) 1
),

"framecount-3.2x4": \(
    fr = fr.frames { framesize = 3, hop = 2 } (testStream 4);
    compare (length fr) 3
),

"frames-2x5": \( 
    fr = fr.frames { framesize = 2, hop = 2 } (testStream 5);
    expected = [ [1,2], [3,4], [5,0] ];
    compareFrames fr expected;
),

"frames-4.3x4": \( 
    fr = fr.frames { framesize = 4, hop = 3 } (testStream 4);
    expected = [ [0,1,2,3], [3,4,0,0] ];
    compareFrames fr expected;
),

"frames-3.2x4": \(
    fr = fr.frames { framesize = 3, hop = 2 } (testStream 4);
    expected = [ [0,1,2], [2,3,4], [4,0,0] ];
    compareFrames fr expected;
),

"frames-3.1x6": \(
    fr = fr.frames { framesize = 3, hop = 1 } (testStream 6);
    expected = [ [0,0,1], [0,1,2], [1,2,3], [2,3,4],
                 [3,4,5], [4,5,6], [5,6,0], [6,0,0] ];
    compareFrames fr expected;
),

] is hash<string, () -> boolean>;