Commit | Line | Data |
da687c2a |
1 | #!/usr/bin/perl -w |
2 | |
3 | use Test; |
4 | use strict; |
5 | |
6 | BEGIN |
7 | { |
8 | $| = 1; |
9 | # to locate the testing files |
10 | my $location = $0; $location =~ s/isa.t//i; |
11 | if ($ENV{PERL_CORE}) |
12 | { |
13 | # testing with the core distribution |
14 | @INC = qw(../t/lib); |
15 | } |
16 | unshift @INC, qw(../lib); |
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 | |
29 | plan tests => 7; |
30 | } |
31 | |
32 | use Math::BigInt::Subclass; |
33 | use Math::BigFloat::Subclass; |
34 | use Math::BigInt; |
35 | use Math::BigFloat; |
36 | |
37 | use vars qw ($class $try $x $y $f @args $ans $ans1 $ans1_str $setup $CL); |
38 | $class = "Math::BigInt::Subclass"; |
39 | $CL = "Math::BigInt::Calc"; |
40 | |
41 | # Check that a subclass is still considered a BigInt |
42 | ok ($class->new(123)->isa('Math::BigInt'),1); |
43 | |
44 | # ditto for plain Math::BigInt |
45 | ok (Math::BigInt->new(123)->isa('Math::BigInt'),1); |
46 | |
47 | # But Math::BigFloats aren't |
48 | ok (Math::BigFloat->new(123)->isa('Math::BigInt') || 0,0); |
49 | |
50 | # see what happens if we feed a Math::BigFloat into new() |
51 | $x = Math::BigInt->new(Math::BigFloat->new(123)); |
52 | ok (ref($x),'Math::BigInt'); |
53 | ok ($x->isa('Math::BigInt'),1); |
54 | |
55 | # ditto for subclass |
56 | $x = Math::BigInt->new(Math::BigFloat->new(123)); |
57 | ok (ref($x),'Math::BigInt'); |
58 | ok ($x->isa('Math::BigInt'),1); |
59 | |