summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_rational.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_rational.py b/Lib/test/test_rational.py
index 5ee7b7d..76757ba 100644
--- a/Lib/test/test_rational.py
+++ b/Lib/test/test_rational.py
@@ -135,6 +135,18 @@ class RationalTest(unittest.TestCase):
TypeError, "Cannot convert sNaN to Rational.",
R.from_decimal, Decimal("snan"))
+ def testFromContinuedFraction(self):
+ self.assertRaises(TypeError, R.from_continued_fraction, None)
+ phi = R.from_continued_fraction([1]*100)
+ self.assertEquals(round(phi - (1 + 5 ** 0.5) / 2, 10), 0.0)
+
+ def testAsContinuedFraction(self):
+ self.assertEqual(R.from_float(math.pi).as_continued_fraction()[:15],
+ [3, 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14, 3, 3])
+
+ def testApproximateFromFloat(self):
+ self.assertEqual(R.approximate_from_float(math.pi, 10000), R(355, 113))
+
def testConversions(self):
self.assertTypedEquals(-1, trunc(R(-11, 10)))
self.assertTypedEquals(-2, R(-11, 10).__floor__())