Commit | Line | Data |
ee15d750 |
1 | #!/usr/bin/perl -w |
2 | |
c986521f |
3 | BEGIN { |
4 | $| = 1; |
5 | my $location = $0; |
6 | # to locate the testing files |
7 | $location =~ s/sub_mbi.t//i; |
8 | if ($ENV{PERL_CORE}) { |
9 | # testing with the core distribution |
10 | @INC = qw(../lib); |
11 | if (-d 't') { |
12 | chdir 't'; |
13 | require File::Spec; |
14 | unshift @INC, File::Spec->catdir(File::Spec->updir, $location); |
15 | } else { |
16 | unshift @INC, $location; |
17 | } |
18 | } else { |
19 | # for running manually with the CPAN distribution |
20 | unshift @INC, '../lib'; |
21 | $location =~ s/bigfltpm.t//; |
22 | } |
23 | print "# INC = @INC\n"; |
24 | } |
25 | |
ee15d750 |
26 | use Test; |
27 | use strict; |
28 | |
29 | BEGIN |
30 | { |
dccbb853 |
31 | plan tests => 1608 + 4; # +4 own tests |
ee15d750 |
32 | } |
33 | |
dccbb853 |
34 | use Math::BigInt::Subclass; |
ee15d750 |
35 | |
36 | use vars qw ($class $try $x $y $f @args $ans $ans1 $ans1_str $setup); |
dccbb853 |
37 | $class = "Math::BigInt::Subclass"; |
38 | |
39 | #my $version = '0.01'; # for $VERSION tests, match current release (by hand!) |
ee15d750 |
40 | |
dccbb853 |
41 | require 'bigintpm.inc'; # perform same tests as bigfltpm |
ee15d750 |
42 | |
43 | # Now do custom tests for Subclass itself |
dccbb853 |
44 | my $ms = $class->new(23); |
ee15d750 |
45 | print "# Missing custom attribute \$ms->{_custom}" if !ok (1, $ms->{_custom}); |
46 | |
dccbb853 |
47 | use Math::BigInt; |
ee15d750 |
48 | |
dccbb853 |
49 | my $bi = Math::BigInt->new(23); # same as other |
50 | $ms += $bi; |
51 | print "# Tried: \$ms += \$bi, got $ms" if !ok (46, $ms); |
ee15d750 |
52 | print "# Missing custom attribute \$ms->{_custom}" if !ok (1, $ms->{_custom}); |
53 | print "# Wrong class: ref(\$ms) was ".ref($ms) if !ok ($class, ref($ms)); |