This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to Math::BigInt 1.55, from Tels.
[perl5.git] / lib / Math / BigInt / t / sub_mbi.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/sub_mbi.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 => 2237
30     + 5;        # +4 own tests
31   }
32
33 use Math::BigInt::Subclass;
34
35 use vars qw ($class $try $x $y $f @args $ans $ans1 $ans1_str $setup $CL);
36 $class = "Math::BigInt::Subclass";
37 $CL = "Math::BigInt::Calc";
38
39 my $version = '0.02';   # for $VERSION tests, match current release (by hand!)
40
41 require 'bigintpm.inc'; # perform same tests as bigintpm
42
43 ###############################################################################
44 # Now do custom tests for Subclass itself
45  
46 my $ms = $class->new(23);
47 print "# Missing custom attribute \$ms->{_custom}" if !ok (1, $ms->{_custom});
48
49 # Check that a subclass is still considered a BigInt
50 ok ($ms->isa('Math::BigInt'),1);
51
52 use Math::BigInt;
53
54 my $bi = Math::BigInt->new(23);         # same as other
55 $ms += $bi;
56 print "# Tried: \$ms += \$bi, got $ms" if !ok (46, $ms);
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));