# test that config ( trap_nan => 1, trap_inf => 1) really works/dies
use strict;
-use Test;
-
-BEGIN
- {
- $| = 1;
- chdir 't' if -d 't';
- unshift @INC, '../lib'; # for running manually
- plan tests => 29;
- }
+use Test::More tests => 29;
use Math::BigRat;
foreach my $class ($mbi)
{
# can do and defaults are okay?
- ok ($class->can('config'));
- ok ($class->config()->{trap_nan}, 0);
- ok ($class->config()->{trap_inf}, 0);
+ can_ok ($class, 'config');
+ is ($class->config()->{trap_nan}, 0);
+ is ($class->config()->{trap_inf}, 0);
# can set?
- $cfg = $class->config( trap_nan => 1 ); ok ($cfg->{trap_nan},1);
+ $cfg = $class->config( trap_nan => 1 ); is ($cfg->{trap_nan},1);
# can set via hash ref?
- $cfg = $class->config( { trap_nan => 1 } ); ok ($cfg->{trap_nan},1);
+ $cfg = $class->config( { trap_nan => 1 } ); is ($cfg->{trap_nan},1);
# also test that new() still works normally
eval ("\$x = \$class->new('42'); \$x->bnan();");
- ok ($@ =~/^Tried to set/, 1);
- ok ($x,42); # after new() never modified
+ like ($@, qr/^Tried to set/);
+ is ($x,42); # after new() never modified
# can reset?
- $cfg = $class->config( trap_nan => 0 ); ok ($cfg->{trap_nan},0);
+ $cfg = $class->config( trap_nan => 0 ); is ($cfg->{trap_nan},0);
# can set?
- $cfg = $class->config( trap_inf => 1 ); ok ($cfg->{trap_inf},1);
+ $cfg = $class->config( trap_inf => 1 ); is ($cfg->{trap_inf},1);
eval ("\$x = \$class->new('4711'); \$x->binf();");
- ok ($@ =~/^Tried to set/, 1);
- ok ($x,4711); # after new() never modified
+ like ($@, qr/^Tried to set/);
+ is ($x,4711); # after new() never modified
# +$x/0 => +inf
eval ("\$x = \$class->new('4711'); \$x->bdiv(0);");
- ok ($@ =~/^Tried to set/, 1);
- ok ($x,4711); # after new() never modified
+ like ($@, qr/^Tried to set/);
+ is ($x,4711); # after new() never modified
# -$x/0 => -inf
eval ("\$x = \$class->new('-0815'); \$x->bdiv(0);");
- ok ($@ =~/^Tried to set/, 1);
- ok ($x,-815); # after new() never modified
+ like ($@, qr/^Tried to set/);
+ is ($x,-815); # after new() never modified
$cfg = $class->config( trap_nan => 1 );
# 0/0 => NaN
eval ("\$x = \$class->new('0'); \$x->bdiv(0);");
- ok ($@ =~/^Tried to set/, 1);
- ok ($x,0); # after new() never modified
+ like ($@, qr/^Tried to set/);
+ is ($x,0); # after new() never modified
}
##############################################################################
my $x = Math::BigRat->new('7/4');
eval ("\$x = \$mbi->new('$trap');");
- print "# Got: $x\n" unless
- ok ($x,'7/4'); # never modified since it dies
+ is ($x,'7/4'); # never modified since it dies
eval ("\$x = \$mbi->new('$trap');");
- print "# Got: $x\n" unless
- ok ($x,'7/4'); # never modified since it dies
+ is ($x,'7/4'); # never modified since it dies
eval ("\$x = \$mbi->new('$trap/7');");
- print "# Got: $x\n" unless
- ok ($x,'7/4'); # never modified since it dies
+ is ($x,'7/4'); # never modified since it dies
}
# all tests done