This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
The first big import towards 5.8.1, @18078. Please do NOT
[perl5.git] / lib / Math / BigInt / t / sub_mbi.t
CommitLineData
ee15d750
JH
1#!/usr/bin/perl -w
2
3use Test;
4use strict;
5
6BEGIN
7 {
e745a66c 8 $| = 1;
e745a66c
JH
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
edea50ec 14 @INC = qw(../t/lib);
e745a66c 15 }
027dc388 16 unshift @INC, qw(../lib);
e745a66c
JH
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
5b7ea690 29 plan tests => 2527
07d34614 30 + 5; # +5 own tests
ee15d750
JH
31 }
32
dccbb853 33use Math::BigInt::Subclass;
ee15d750 34
394e6ffb 35use vars qw ($class $try $x $y $f @args $ans $ans1 $ans1_str $setup $CL);
dccbb853 36$class = "Math::BigInt::Subclass";
394e6ffb 37$CL = "Math::BigInt::Calc";
dccbb853 38
394e6ffb 39my $version = '0.02'; # for $VERSION tests, match current release (by hand!)
ee15d750 40
394e6ffb 41require 'bigintpm.inc'; # perform same tests as bigintpm
ee15d750 42
9393ace2 43###############################################################################
ee15d750 44# Now do custom tests for Subclass itself
9393ace2 45
dccbb853 46my $ms = $class->new(23);
ee15d750
JH
47print "# Missing custom attribute \$ms->{_custom}" if !ok (1, $ms->{_custom});
48
9393ace2
JH
49# Check that a subclass is still considered a BigInt
50ok ($ms->isa('Math::BigInt'),1);
51
dccbb853 52use Math::BigInt;
ee15d750 53
dccbb853
JH
54my $bi = Math::BigInt->new(23); # same as other
55$ms += $bi;
56print "# Tried: \$ms += \$bi, got $ms" if !ok (46, $ms);
ee15d750
JH
57print "# Missing custom attribute \$ms->{_custom}" if !ok (1, $ms->{_custom});
58print "# Wrong class: ref(\$ms) was ".ref($ms) if !ok ($class, ref($ms));