- Timestamp:
- 08/06/08 05:32:39 (5 months ago)
- Files:
-
- 1 modified
-
misc/pX/Common/Unicode/t/utable.t (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
misc/pX/Common/Unicode/t/utable.t
r19345 r21798 12 12 $u = undef; 13 13 ok $u = Utable.new(@@( 1..2 ; 5..8 )), 'Utable.new with a list of ranges works'; 14 for 1..2, 5..8 -> my$n {14 for 1..2, 5..8 -> $n { 15 15 is $u.contains($n), True, ".contains finds $n in @@( 1..2 ; 5..8 )"; 16 16 } 17 for -2..0, 3..4, 9..11 -> my$n {17 for -2..0, 3..4, 9..11 -> $n { 18 18 is $u.contains($n), False, ".contains doesn't find $n in @@( 1..2 ; 5..8 )"; 19 19 } … … 24 24 $u = undef; 25 25 ok $u = Utable.new('1..2;5..8'), 'Utable.new with a string works'; 26 for 1..2, 5..8 -> my$n {26 for 1..2, 5..8 -> $n { 27 27 is $u.contains($n), True, ".contains finds $n in '1..2;5..8'"; 28 28 } 29 for -2..0, 3..4, 9..11 -> my$n {29 for -2..0, 3..4, 9..11 -> $n { 30 30 is $u.contains($n), False, ".contains doesn't find $n in '1..2;5..8'"; 31 31 } … … 34 34 ok $u eqv $u.perl.eval, "round-trip to .perl works for '1..2;5..8'"; 35 35 36 is $u.inverse.tostr '0;3..4;9..1114111', '.inverse works';36 is $u.inverse.tostr, '0;3..4;9..1114111', '.inverse works'; 37 37 38 38 my $io = open "/tmp/utable.$*PID", :w orelse die; … … 66 66 $u = undef; 67 67 ok $u = Utable.new(@@( 1..2 ; 5..8 ), :val(1, 2)), 'Utable.new with a list of ranges and a list of values works'; 68 for 1..2 -> my$n {68 for 1..2 -> $n { 69 69 is $u.get($n), 1, ".get finds 1 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 70 70 } 71 for 5..8 -> my$n {71 for 5..8 -> $n { 72 72 is $u.get($n), 2, ".get finds 2 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 73 73 } 74 for -2..0, 3..4, 9..11 -> my$n {74 for -2..0, 3..4, 9..11 -> $n { 75 75 is $u.get($n), undef, ".get returns undef for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 76 76 } … … 81 81 $u = undef; 82 82 ok $u = Utable.new('1..2:1;5..8:2'), 'Utable.new with a string with values works'; 83 for 1..2 -> my$n {83 for 1..2 -> $n { 84 84 is $u.get($n), 1, ".get finds 1 for $n in '1..2:1;5..8:2'"; 85 85 } 86 for 5..8 -> my$n {86 for 5..8 -> $n { 87 87 is $u.get($n), 2, ".get finds 2 for $n in '1..2:1;5..8:2'"; 88 88 } 89 for -2..0, 3..4, 9..11 -> my$n {89 for -2..0, 3..4, 9..11 -> $n { 90 90 is $u.get($n), undef, ".get returns undef for $n in '1..2:1;5..8:2'"; 91 91 } … … 95 95 96 96 $u = Utable.new; 97 for 1..2, 5..8 -> my$n { $u.add($n); }98 # test redundant adds 99 for 1..2, 5..8 -> my$n { $u.add($n); }100 for 1..2, 5..8 -> my$n {97 for 1..2, 5..8 -> $n { $u.add($n); } 98 # test redundant adds 99 for 1..2, 5..8 -> $n { $u.add($n); } 100 for 1..2, 5..8 -> $n { 101 101 is $u.contains($n), True, "(add) .contains finds $n in @@( 1..2 ; 5..8 )"; 102 102 } 103 for -2..0, 3..4, 9..11 -> my$n {103 for -2..0, 3..4, 9..11 -> $n { 104 104 is $u.contains($n), False, "(add) .contains doesn't find $n in @@( 1..2 ; 5..8 )"; 105 105 } … … 109 109 110 110 $u = Utable.new; 111 for 8, 7, 6, 5, 2, 1 -> my$n { $u.add($n); }112 # test redundant adds 113 for 1..2, 5..8 -> my$n { $u.add($n); }114 for 1..2, 5..8 -> my$n {111 for 8, 7, 6, 5, 2, 1 -> $n { $u.add($n); } 112 # test redundant adds 113 for 1..2, 5..8 -> $n { $u.add($n); } 114 for 1..2, 5..8 -> $n { 115 115 is $u.contains($n), True, "(backwards add) .contains finds $n in @@( 1..2 ; 5..8 )"; 116 116 } 117 for -2..0, 3..4, 9..11 -> my$n {117 for -2..0, 3..4, 9..11 -> $n { 118 118 is $u.contains($n), False, "(backwards add) .contains doesn't find $n in @@( 1..2 ; 5..8 )"; 119 119 } … … 123 123 124 124 $u = Utable.new; 125 for 2, 6, 7, 5, 1, 8 -> my$n { $u.add($n); }126 # test redundant adds 127 for 1..2, 5..8 -> my$n { $u.add($n); }128 for 1..2, 5..8 -> my$n {125 for 2, 6, 7, 5, 1, 8 -> $n { $u.add($n); } 126 # test redundant adds 127 for 1..2, 5..8 -> $n { $u.add($n); } 128 for 1..2, 5..8 -> $n { 129 129 is $u.contains($n), True, "(random add) .contains finds $n in @@( 1..2 ; 5..8 )"; 130 130 } 131 for -2..0, 3..4, 9..11 -> my$n {131 for -2..0, 3..4, 9..11 -> $n { 132 132 is $u.contains($n), False, "(random add) .contains doesn't find $n in @@( 1..2 ; 5..8 )"; 133 133 } … … 137 137 138 138 $u = Utable.new; 139 for 1..2 -> my$n { $u.add($n, :val(1)); }140 for 5..8 -> my$n { $u.add($n, :val(2)); }141 # test redundant adds 142 for 1..2 -> my$n { $u.add($n, :val(1)); }143 for 5..8 -> my$n { $u.add($n, :val(2)); }144 for 1..2 -> my$n {139 for 1..2 -> $n { $u.add($n, :val(1)); } 140 for 5..8 -> $n { $u.add($n, :val(2)); } 141 # test redundant adds 142 for 1..2 -> $n { $u.add($n, :val(1)); } 143 for 5..8 -> $n { $u.add($n, :val(2)); } 144 for 1..2 -> $n { 145 145 is $u.get($n), 1, "(add) .get finds 1 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 146 146 } 147 for 5..8 -> my$n {147 for 5..8 -> $n { 148 148 is $u.get($n), 2, "(add) .get finds 2 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 149 149 } 150 for -2..0, 3..4, 9..11 -> my$n {150 for -2..0, 3..4, 9..11 -> $n { 151 151 is $u.get($n), undef, "(add) .get returns undef for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 152 152 } … … 156 156 157 157 $u = Utable.new; 158 for 8, 7, 6, 5 -> my$n { $u.add($n, :val(2)); }159 for 2, 1 -> my$n { $u.add($n, :val(1)); }160 # test redundant adds 161 for 1..2 -> my$n { $u.add($n, :val(1)); }162 for 5..8 -> my$n { $u.add($n, :val(2)); }163 for 1..2 -> my$n {158 for 8, 7, 6, 5 -> $n { $u.add($n, :val(2)); } 159 for 2, 1 -> $n { $u.add($n, :val(1)); } 160 # test redundant adds 161 for 1..2 -> $n { $u.add($n, :val(1)); } 162 for 5..8 -> $n { $u.add($n, :val(2)); } 163 for 1..2 -> $n { 164 164 is $u.get($n), 1, "(backwards add) .get finds 1 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 165 165 } 166 for 5..8 -> my$n {166 for 5..8 -> $n { 167 167 is $u.get($n), 2, "(backwards add) .get finds 2 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 168 168 } 169 for -2..0, 3..4, 9..11 -> my$n {169 for -2..0, 3..4, 9..11 -> $n { 170 170 is $u.get($n), undef, "(backwards add) .get returns undef for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 171 171 } … … 175 175 176 176 $u = Utable.new; 177 for 2, 1 -> my$n { $u.add($n, :val(1)); }178 for 5, 8, 6, 7 -> my$n { $u.add($n, :val(2)); }179 # test redundant adds 180 for 1..2 -> my$n { $u.add($n, :val(1)); }181 for 5..8 -> my$n { $u.add($n, :val(2)); }182 for 1..2 -> my$n {177 for 2, 1 -> $n { $u.add($n, :val(1)); } 178 for 5, 8, 6, 7 -> $n { $u.add($n, :val(2)); } 179 # test redundant adds 180 for 1..2 -> $n { $u.add($n, :val(1)); } 181 for 5..8 -> $n { $u.add($n, :val(2)); } 182 for 1..2 -> $n { 183 183 is $u.get($n), 1, "(random add) .get finds 1 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 184 184 } 185 for 5..8 -> my$n {185 for 5..8 -> $n { 186 186 is $u.get($n), 2, "(random add) .get finds 2 for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 187 187 } 188 for -2..0, 3..4, 9..11 -> my$n {188 for -2..0, 3..4, 9..11 -> $n { 189 189 is $u.get($n), undef, "(random add) .get returns undef for $n in @@( 1..2 ; 5..8 ), (1, 2)"; 190 190 } … … 202 202 my %h; 203 203 for ^1000 { 204 my $n = rand 0..$unicode_maxwhile %h{$n};205 my $val = rand 1..2;204 my $n = (0..$unicode_max).pick while %h{$n}; 205 my $val = (1..2).pick; 206 206 $u.add($n, :$val); 207 207 %h{$n} = $val; 208 208 } 209 for %h.keys -> my$n {209 for %h.keys -> $n { 210 210 is $u.get($n), %h{$n}, 'rand lookup succeeds'; 211 211 }
