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