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/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 => 3273
30    + 5;	# +5 own tests
31  }
32
33use Math::BigInt::Subclass;
34
35use 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
39my $version = '0.02';   # for $VERSION tests, match current release (by hand!)
40
41require 'bigintpm.inc';	# perform same tests as bigintpm
42
43###############################################################################
44# Now do custom tests for Subclass itself
45
46my $ms = $class->new(23);
47print "# Missing custom attribute \$ms->{_custom}" if !ok (1, $ms->{_custom});
48
49# Check that a subclass is still considered a BigInt
50ok ($ms->isa('Math::BigInt'),1);
51
52use Math::BigInt;
53
54my $bi = Math::BigInt->new(23);		# same as other
55$ms += $bi;
56print "# Tried: \$ms += \$bi, got $ms" if !ok (46, $ms);
57print "# Missing custom attribute \$ms->{_custom}" if !ok (1, $ms->{_custom});
58print "# Wrong class: ref(\$ms) was ".ref($ms) if !ok ($class, ref($ms));
59