Move Math::BigInt from ext/ to cpan/
[p5sagit/p5-mst-13.2.git] / cpan / Math-BigInt / t / isa.t
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