annotate yetilab/vector/test/test_vector.yeti @ 265:c7efd12c27c5

Window fixes and tests
author Chris Cannam
date Thu, 23 May 2013 13:21:05 +0100
parents de770971a628
children 0011c9a8c0ec
rev   line source
Chris@27 1
Chris@222 2 module yetilab.vector.test.test_vector;
Chris@27 3
Chris@222 4 vec = load yetilab.vector.vector;
Chris@27 5
Chris@93 6 { compare } = load yetilab.test.test;
Chris@53 7
Chris@53 8 [
Chris@27 9
Chris@27 10 "zeros-empty": \(
Chris@27 11 v = vec.zeros 0;
Chris@53 12 compare (vec.length v) 0;
Chris@27 13 ),
Chris@27 14
Chris@27 15 "zeros": \(
Chris@27 16 v = vec.zeros 3;
Chris@211 17 a = vec.array v;
Chris@53 18 compare (vec.length v) 3 and
Chris@211 19 compare a[0] 0 and
Chris@211 20 compare a[1] 0 and
Chris@211 21 compare a[2] 0;
Chris@27 22 ),
Chris@27 23
Chris@36 24 "consts-empty": \(
Chris@36 25 v = vec.consts 4 0;
Chris@53 26 compare (vec.length v) 0;
Chris@36 27 ),
Chris@36 28
Chris@36 29 "consts": \(
Chris@36 30 v = vec.consts 4 3;
Chris@211 31 a = vec.array v;
Chris@53 32 compare (vec.length v) 3 and
Chris@211 33 compare a[0] 4 and
Chris@211 34 compare a[1] 4 and
Chris@211 35 compare a[2] 4;
Chris@36 36 ),
Chris@36 37
Chris@27 38 "ones-empty": \(
Chris@27 39 v = vec.ones 0;
Chris@53 40 compare (vec.length v) 0;
Chris@27 41 ),
Chris@27 42
Chris@27 43 "ones": \(
Chris@27 44 v = vec.ones 3;
Chris@211 45 a = vec.array v;
Chris@53 46 compare (vec.length v) 3 and
Chris@211 47 compare a[0] 1 and
Chris@211 48 compare a[1] 1 and
Chris@211 49 compare a[2] 1;
Chris@27 50 ),
Chris@27 51
Chris@27 52 "from-list-empty": \(
Chris@211 53 v = vec.fromList [];
Chris@53 54 compare (vec.length v) 0;
Chris@27 55 ),
Chris@27 56
Chris@27 57 "from-list": \(
Chris@211 58 v = vec.fromList [1,2,3,4];
Chris@211 59 a = vec.array v;
Chris@53 60 compare (vec.length v) 4 and
Chris@211 61 compare a[0] 1 and
Chris@211 62 compare a[1] 2 and
Chris@211 63 compare a[2] 3 and
Chris@211 64 compare a[3] 4;
Chris@27 65 ),
Chris@27 66
Chris@27 67 "equal-empty": \(
Chris@211 68 vec.equal (vec.fromList []) (vec.fromList [])
Chris@27 69 ),
Chris@27 70
Chris@27 71 "equal": \(
Chris@211 72 v = vec.fromList [1,1,1,1];
Chris@27 73 w = vec.ones 4;
Chris@27 74 w' = vec.zeros 4;
Chris@27 75 w'' = vec.ones 3;
Chris@27 76 vec.equal v w and not vec.equal v w' and not vec.equal v w'';
Chris@27 77 ),
Chris@27 78
Chris@260 79 "slice": \(
Chris@211 80 v = vec.fromList [1,2,3,4];
Chris@260 81 vec.equal (vec.slice v 0 4) v and (
Chris@260 82 vec.equal (vec.slice v 2 4) (vec.fromList [3,4])
Chris@27 83 )
Chris@27 84 ),
Chris@27 85
Chris@27 86 "resizedTo": \(
Chris@211 87 vec.equal (vec.resizedTo 4 (vec.fromList [])) (vec.zeros 4) and
Chris@211 88 vec.equal (vec.resizedTo 2 (vec.fromList [1,2])) (vec.fromList [1,2]) and
Chris@211 89 vec.equal (vec.resizedTo 3 (vec.fromList [1,2])) (vec.fromList [1,2,0]) and
Chris@211 90 vec.equal (vec.resizedTo 2 (vec.fromList [1,2,3])) (vec.fromList [1,2]);
Chris@27 91 ),
Chris@27 92
Chris@265 93 "reversed": \(
Chris@265 94 vec.equal (vec.reversed (vec.fromList [])) (vec.fromList []) and
Chris@265 95 vec.equal (vec.reversed (vec.fromList [1,2,3])) (vec.fromList [3,2,1]) and
Chris@265 96 vec.equal (vec.reversed (vec.fromList [1,2])) (vec.fromList [2,1])
Chris@265 97 ),
Chris@265 98
Chris@35 99 "concat2": \(
Chris@211 100 v = vec.fromList [1,2,3];
Chris@211 101 w = vec.fromList [4,5,6];
Chris@35 102 x = vec.concat [v, w];
Chris@211 103 x' = vec.fromList [1,2,3,4,5,6];
Chris@27 104 vec.equal x x' and
Chris@211 105 vec.equal x' (vec.concat [x', vec.fromList []]) and
Chris@211 106 vec.equal x' (vec.concat [vec.fromList [], x'])
Chris@35 107 ),
Chris@35 108
Chris@35 109 "concatn": \(
Chris@211 110 v = vec.fromList [1,2,3];
Chris@211 111 w = vec.fromList [4,5,6];
Chris@35 112 vec.equal (vec.concat []) (vec.zeros 0) and
Chris@35 113 vec.equal (vec.concat [v]) v and
Chris@211 114 vec.equal (vec.concat [v,w,v]) (vec.fromList [1,2,3,4,5,6,1,2,3])
Chris@27 115 ),
Chris@27 116
Chris@53 117 ] is hash<string, () -> boolean>;
Chris@27 118
Chris@28 119
Chris@53 120