ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Array-Heap/t/01_rand.t
(Generate patch)

Comparing Array-Heap/t/01_rand.t (file contents):
Revision 1.1 by root, Sun Jul 26 04:50:02 2009 UTC vs.
Revision 1.2 by root, Sun Jul 26 05:25:18 2009 UTC

3no warnings; 3no warnings;
4use Array::Heap; 4use Array::Heap;
5 5
6srand 0; 6srand 0;
7 7
8my $t;
9my @x = (1..10, map rand, 1..100); 8my @x = (1..10, map rand, 1..100);
10my $err; 9my $err;
11 10
12my @test = ( 11my @test = (
13 sub { push_heap_cmp { $a <=> $b } @x, rand }, 12 sub { push_heap_cmp { $a <=> $b } @x, rand },
21); 20);
22 21
23sub chk { 22sub chk {
24 for (1 .. $#x) { 23 for (1 .. $#x) {
25 if (!($x[$_] > $x[($_ - 1) >> 1])) { 24 if (!($x[$_] > $x[($_ - 1) >> 1])) {
26 $err = "($t) \$x[$_] ($x[$_]) !> \$x[$_ >> 1] ($x[($_ - 1) >> 1])\n"; 25 $err = "\$x[$_] ($x[$_]) !> \$x[$_ >> 1] ($x[($_ - 1) >> 1])";
27 make_heap @x; 26 make_heap @x;
28 } 27 }
29 } 28 }
30} 29}
31 30
32make_heap @x; 31make_heap @x;
33chk; 32chk;
34 33
35for (1..3000) { 34for (1..3000) {
36 undef $err; 35 undef $err;
37 $t = int rand @test; 36 my $t = int rand @test;
38 $test[$t]->(); 37 $test[$t]->();
39 chk; 38 chk;
40 print defined $err ? "not " : "", "ok $_ # $err\n"; 39 print defined $err ? "not " : "", "ok $_ # $t,$err\n";
41} 40}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines