1eac174f2Safresh1# -*- mode: perl; -*- 2b8851fccSafresh1 3b8851fccSafresh1use strict; 4b8851fccSafresh1use warnings; 5b8851fccSafresh1 6eac174f2Safresh1use Test::More tests => 3070 # tests in require'd file 7*3d61058aSafresh1 + 10; # tests in this file 8b8851fccSafresh1 9b8851fccSafresh1use lib 't'; 10b8851fccSafresh1 11b8851fccSafresh1use Math::BigFloat::Subclass; 12b8851fccSafresh1 13b46d8ef2Safresh1our ($CLASS, $LIB); 14b8851fccSafresh1$CLASS = "Math::BigFloat::Subclass"; 15*3d61058aSafresh1$LIB = $CLASS -> config('lib'); # backend library 16b8851fccSafresh1 17b46d8ef2Safresh1require './t/bigfltpm.inc'; # perform same tests as bigfltpm 18b8851fccSafresh1 19b8851fccSafresh1############################################################################### 20b8851fccSafresh1# Now do custom tests for Subclass itself 21b8851fccSafresh1 22b8851fccSafresh1my $ms = $CLASS -> new(23); 23b8851fccSafresh1is($ms->{_custom}, 1, '$ms has custom attribute \$ms->{_custom}'); 24b8851fccSafresh1 25b8851fccSafresh1# Check that subclass is a Math::BigFloat, but not a Math::Bigint 26b8851fccSafresh1isa_ok($ms, 'Math::BigFloat'); 27b8851fccSafresh1ok(!$ms -> isa('Math::BigInt'), 28e0680481Safresh1 "An object of class '" . ref($ms) . "' isn't a 'Math::BigInt'"); 29b8851fccSafresh1 30b8851fccSafresh1my $bf = Math::BigFloat -> new(23); # same as other 31b8851fccSafresh1$ms += $bf; 32b8851fccSafresh1is($ms, 46, '$ms is 46'); 33b8851fccSafresh1is($ms->{_custom}, 1, '$ms has custom attribute $ms->{_custom}'); 34b8851fccSafresh1is(ref($ms), $CLASS, "\$ms is not an object of class '$CLASS'"); 35eac174f2Safresh1 36*3d61058aSafresh1is($CLASS -> accuracy(), undef, 37*3d61058aSafresh1 "$CLASS gets 'accuracy' from parent"); 38eac174f2Safresh1 39*3d61058aSafresh1is($CLASS -> precision(), undef, 40*3d61058aSafresh1 "$CLASS gets 'precision' from parent"); 41*3d61058aSafresh1 42*3d61058aSafresh1cmp_ok($CLASS -> div_scale(), "==", 40, 43*3d61058aSafresh1 "$CLASS gets 'div_scale' from parent"); 44*3d61058aSafresh1 45*3d61058aSafresh1is($CLASS -> round_mode(), "even", 46*3d61058aSafresh1 "$CLASS gets 'round_mode' from parent"); 47