libcryptx-perl/t/mbi_ltm_bugs.t

53 lines
1.4 KiB
Perl

#!perl
use strict;
use warnings;
use Test::More;
BEGIN {
plan skip_all => "requires Math::BigInt 1.999712+" unless eval { require Math::BigInt && eval($Math::BigInt::VERSION) >= 1.999712 };
plan tests => 3722 # tests in require'd file
+ 6; # tests in this file
}
use Math::BigInt lib => 'LTM';
our ($CLASS, $CALC);
$CLASS = "Math::BigInt";
$CALC = "Math::BigInt::LTM";
my $x;
#############################################################################
# from_hex(), from_bin() and from_oct() tests
$x = Math::BigInt->from_hex('0xcafe');
is($x, "51966",
qq|Math::BigInt->from_hex("0xcafe")|);
$x = Math::BigInt->from_hex('0xcafebabedead');
is($x, "223195403574957",
qq|Math::BigInt->from_hex("0xcafebabedead")|);
$x = Math::BigInt->from_bin('0b1001');
is($x, "9",
qq|Math::BigInt->from_bin("0b1001")|);
$x = Math::BigInt->from_bin('0b1001100110011001100110011001');
is($x, "161061273",
qq|Math::BigInt->from_bin("0b1001100110011001100110011001");|);
$x = Math::BigInt->from_oct('0775');
is($x, "509",
qq|Math::BigInt->from_oct("0775");|);
$x = Math::BigInt->from_oct('07777777777777711111111222222222');
is($x, "9903520314281112085086151826",
qq|Math::BigInt->from_oct("07777777777777711111111222222222");|);
#############################################################################
# all the other tests
require './t/mbi_ltm/bigintpm.inc'; # all tests here for sharing