summaryrefslogtreecommitdiff
path: root/dist/Math-BigRat/t/bigratup.t
diff options
context:
space:
mode:
Diffstat (limited to 'dist/Math-BigRat/t/bigratup.t')
-rw-r--r--dist/Math-BigRat/t/bigratup.t31
1 files changed, 31 insertions, 0 deletions
diff --git a/dist/Math-BigRat/t/bigratup.t b/dist/Math-BigRat/t/bigratup.t
new file mode 100644
index 0000000000..a00c655649
--- /dev/null
+++ b/dist/Math-BigRat/t/bigratup.t
@@ -0,0 +1,31 @@
+#!/usr/bin/perl -w
+
+# Test whether $Math::BigInt::upgrade breaks our neck
+
+use strict;
+use Test::More tests => 5;
+
+use Math::BigInt upgrade => 'Math::BigRat';
+use Math::BigRat;
+
+my $rat = 'Math::BigRat';
+my ($x,$y,$z);
+
+##############################################################################
+# bceil/bfloor
+
+$x = $rat->new('49/4'); is ($x->bfloor(),'12', 'floor(49/4)');
+$x = $rat->new('49/4'); is ($x->bceil(),'13', 'ceil(49/4)');
+
+##############################################################################
+# bsqrt
+
+$x = $rat->new('144'); is ($x->bsqrt(),'12', 'bsqrt(144)');
+$x = $rat->new('144/16'); is ($x->bsqrt(),'3', 'bsqrt(144/16)');
+$x = $rat->new('1/3'); is ($x->bsqrt(),
+ '1000000000000000000000000000000000000000/1732050807568877293527446341505872366943',
+ 'bsqrt(1/3)');
+
+# all tests successfull
+
+1;