#/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. # # Tests for Set::Infinite::Quantize # This is work in progress # use strict; # use warnings; use Set::Infinite qw($inf); my $test = 0; my ($result, $errors); my $set; 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..14\n"; $| = 1; $set = Set::Infinite->new([10,12]); test ( 'new', '"$set"', '[10..12]'); test ("count", '$set->count', 1); $set = $set->union( 14,16 ); test ("count", '$set->count', 2); $set = $set->integer; test ("integer size", '$set->size', 6); $set = $set->real; test ("real size", '$set->size', 4); $set = Set::Infinite->new([10,11]); test ( 'new', '"$set"', '[10..11]'); $set = $set->integer; test ("integer size", '$set->size', 2); $set = $set->real; test ("real size", '$set->size', 1); $set = Set::Infinite->new([10,10]); test ( 'new', '"$set"', '10'); $set = $set->integer; test ("integer size", '$set->size', 1); $set = $set->real; test ("real size", '$set->size', 0); $set = Set::Infinite->new([10,11]); $set = $set->complement( 11 ); test ( 'new', '"$set"', '[10..11)'); $set = $set->integer; test ("integer size", '$set->size', 0); $set = $set->real; test ("real size", '$set->size', 1); 1;