xref: /openbsd-src/gnu/usr.bin/perl/cpan/Math-BigInt/t/bigintpm.t (revision d13be5d47e4149db2549a9828e244d59dbc43f15)
1#!/usr/bin/perl -w
2
3use Test;
4use strict;
5
6BEGIN
7  {
8  $| = 1;
9  unshift @INC, '../lib'; # for running manually
10  my $location = $0; $location =~ s/bigintpm.t//;
11  unshift @INC, $location; # to locate the testing files
12  chdir 't' if -d 't';
13  plan tests => 3273 + 6;
14  }
15
16use Math::BigInt lib => 'Calc';
17
18use vars qw ($scale $class $try $x $y $f @args $ans $ans1 $ans1_str $setup $CL);
19$class = "Math::BigInt";
20$CL = "Math::BigInt::Calc";
21
22#############################################################################
23# from_hex(), from_bin() and from_oct() tests
24
25my $x = Math::BigInt->from_hex('0xcafe');
26ok ($x, "51966", 'from_hex() works');
27
28$x = Math::BigInt->from_hex('0xcafebabedead');
29ok ($x, "223195403574957", 'from_hex() works with long numbers');
30
31$x = Math::BigInt->from_bin('0b1001');
32ok ($x, "9", 'from_bin() works');
33
34$x = Math::BigInt->from_bin('0b1001100110011001100110011001');
35ok ($x, "161061273", 'from_bin() works with big numbers');
36
37$x = Math::BigInt->from_oct('0775');
38ok ($x, "509", 'from_oct() works');
39
40$x = Math::BigInt->from_oct('07777777777777711111111222222222');
41ok ($x, "9903520314281112085086151826", 'from_oct() works with big numbers');
42
43#############################################################################
44# all the other tests
45
46require 'bigintpm.inc';	# all tests here for sharing
47