1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
######################### We start with some black magic to print on failure.
# Change 1..1 below to 1..last_test_to_print .
# (It may become useful if the test is moved to ./t subdirectory.)
BEGIN { $| = 1; print "1..5\n"; }
END {print "not ok 1\n" unless $loaded;}
#use diagnostics;
use Math::Base::Convert qw(dec b62);
$loaded = 1;
print "ok 1\n";
######################### End of black magic.
sub ok {
print "ok $test\n";
++$test;
}
my $num = '999999999999999';
my $str = '4zXyLE1Gv';
my $b32str = [
'2764472319',
232830
];
$test = 2;
my $bcto = new Math::Base::Convert(dec,b62);
my $bcfrom = new Math::Base::Convert(b62);
sub equal {
my($a,$b) = @_;
if ($a.$b =~ /\D/) {
return $a eq $b;
} else {
return $a == $b;
}
}
# test 2 to b63, check b2-32 conversion
$bcfrom->_cnv($str);
print "nstr missing\nnot "
unless exists $bcfrom->{nstr} && $bcfrom->{nstr} eq $str;
&ok;
$bcfrom->useFROMbaseto32wide;
# test 3 check for b32 conversion vector
print "b32str missing\nnot "
unless exists $bcfrom->{b32str} && ref $bcfrom->{b32str} eq 'ARRAY';
&ok;
# test 4 - 5 check contents
foreach my $i (0..$#{$b32str}) {
print "b32 vector mismatch, index '$i', got: ", $bcfrom->{b32str}->[$i], " exp: ", $b32str->[$i], "\nnot "
unless equal($bcfrom->{b32str}->[$i], $b32str->[$i]);
&ok;
}
|