Move Math::BigInt from ext/ to cpan/
[p5sagit/p5-mst-13.2.git] / cpan / Math-BigInt / t / isa.t
CommitLineData
da687c2a 1#!/usr/bin/perl -w
2
3use Test;
4use strict;
5
6BEGIN
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
32use Math::BigInt::Subclass;
33use Math::BigFloat::Subclass;
34use Math::BigInt;
35use Math::BigFloat;
36
37use 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
42ok ($class->new(123)->isa('Math::BigInt'),1);
43
44# ditto for plain Math::BigInt
45ok (Math::BigInt->new(123)->isa('Math::BigInt'),1);
46
47# But Math::BigFloats aren't
48ok (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));
52ok (ref($x),'Math::BigInt');
53ok ($x->isa('Math::BigInt'),1);
54
55# ditto for subclass
56$x = Math::BigInt->new(Math::BigFloat->new(123));
57ok (ref($x),'Math::BigInt');
58ok ($x->isa('Math::BigInt'),1);
59