#/bin/perl -w # Copyright (c) 2001 Flavio Soibelmann Glock. All rights reserved. # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. use strict; use Set::Infinite qw($inf); my $test = 0; my ($result, $errors); my @a; my $c; sub test { my ($header, $sub, $expected) = @_; $test++; #print "\t# $header \n"; $result = eval $sub; $result = '' unless defined $result; if ("$expected" eq "$result") { print "ok $test"; } else { print "not ok $test"; # \n\t# expected \"$expected\" got \"$result\""; print "\n\t# $sub expected \"$expected\" got \"$result\" $@"; $errors++; } print " \n"; } print "1..12\n"; $| = 1; $a = Set::Infinite->new([1,25]); test ( '', ' $a->quantize(quant=>1)->select( by => [0,2,-2,-1] ) ', '[1..2),[3..4),[24..25),[25..26)'); test ( '', ' $a->quantize(quant=>1)->select( count => 3 ) ', '[1..2),[2..3),[3..4)'); test ( '', ' $a->quantize(quant=>1)->select( by => [0,2,-2,-1], count => 3 ) ', '[1..2),[3..4),[24..25)'); test ( '', ' $a->quantize(quant=>1)->select( by => [0,20,-20,-1], count => 3 ) ', '[1..2),[6..7),[21..22)'); $a = Set::Infinite->new(-$inf,25); test ( '', ' $a->quantize(quant=>1)->select( by => [0,2,-2,-1] ) ', -$inf . ",[24..25),[25..26)"); test ( '', ' $a->quantize(quant=>1)->select( count => 3 ) ', -$inf . "" ); test ( '', ' $a->quantize(quant=>1)->select( by => [0,2,-2,-1], count => 3 ) ', -$inf . ",[24..25),[25..26)"); test ( '', ' $a->quantize(quant=>1)->select( by => [0,20,-20,-1], count => 3 ) ', -$inf . ",[6..7),[25..26)"); $a = Set::Infinite->new(25,$inf); test ( '', ' $a->quantize(quant=>1)->select( by => [0,2,-2,-1] ) ', "[25..26),[27..28),$inf"); test ( '', ' $a->quantize(quant=>1)->select( count => 3 ) ', "[25..26),[26..27),[27..28)"); test ( '', ' $a->quantize(quant=>1)->select( by => [0,2,-2,-1], count => 3 ) ', "[25..26),[27..28),$inf"); test ( '', ' $a->quantize(quant=>1)->select( by => [0,20,-20,-1], count => 3 ) ', "[25..26),[45..46),$inf"); $a = $a; # clear warnings 1;