6 use Test::More tests => 6;
8 ###############################################################################
9 package Math::BigFloat::Test;
13 our @ISA = qw/Exporter Math::BigFloat/;
18 my ($self, $class) = @_;
19 return if $class =~ /^Math::Big(Int|Float)/; # we aren't one of these
20 UNIVERSAL::isa($self, $class);
24 return __PACKAGE__->new(123);
28 return __PACKAGE__->new(321);
31 ###############################################################################
34 # use Math::BigInt upgrade => 'Math::BigFloat';
35 use Math::BigFloat upgrade => 'Math::BigFloat::Test';
39 our ($CLASS, $EXPECTED_CLASS, $CALC);
40 $CLASS = "Math::BigFloat";
41 $EXPECTED_CLASS = "Math::BigFloat::Test";
42 $CALC = "Math::BigInt::Calc"; # backend
44 is(Math::BigFloat->upgrade(), $EXPECTED_CLASS,
45 qq|Math::BigFloat->upgrade()|);
46 is(Math::BigFloat->downgrade() || '', '',
47 qq/Math::BigFloat->downgrade() || ''/);
49 $x = $CLASS->new(123);
50 $y = $EXPECTED_CLASS->new(123);
52 is(ref($z), $EXPECTED_CLASS,
53 qq|\$x = $CLASS->new(123); \$y = $EXPECTED_CLASS->new(123);|
54 . q| $z = $x->bmul($y); ref($z)|);
56 qq|\$x = $CLASS->new(123); \$y = $EXPECTED_CLASS->new(123);|
57 . q| $z = $x->bmul($y); $z|);
59 $x = $CLASS->new(123);
60 $y = $EXPECTED_CLASS->new(123);
62 is(ref($z), $EXPECTED_CLASS,
63 qq|$x = $CLASS->new(123); $y = $EXPECTED_CLASS->new(123);|
64 . q| $z = $x->badd($y); ref($z)|);
66 qq|$x = $CLASS->new(123); $y = $EXPECTED_CLASS->new(123);|
67 . q| $z = $x->badd($y); $z|);
70 #require 't/upgrade.inc'; # all tests here for sharing