diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_builtin.py | 4 | ||||
-rw-r--r-- | Lib/test/test_fractions.py (renamed from Lib/test/test_rational.py) | 56 |
2 files changed, 30 insertions, 30 deletions
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index b17133a..f781db3 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -5,7 +5,7 @@ from test.test_support import fcmp, TESTFN, unlink, run_unittest, \ run_with_locale from operator import neg -import sys, warnings, random, collections, io, rational +import sys, warnings, random, collections, io, rational, fractions warnings.filterwarnings("ignore", "hex../oct.. of negative int", FutureWarning, __name__) warnings.filterwarnings("ignore", "integer argument expected", @@ -607,7 +607,7 @@ class BuiltinTest(unittest.TestCase): n, d = f.as_integer_ratio() self.assertEqual(float(n).__truediv__(d), f) - R = rational.Rational + R = fractions.Fraction self.assertEqual(R(0, 1), R(*float(0.0).as_integer_ratio())) self.assertEqual(R(5, 2), diff --git a/Lib/test/test_rational.py b/Lib/test/test_fractions.py index 92d8a14..00fd549 100644 --- a/Lib/test/test_rational.py +++ b/Lib/test/test_fractions.py @@ -1,15 +1,15 @@ -"""Tests for Lib/rational.py.""" +"""Tests for Lib/fractions.py.""" from decimal import Decimal from test.test_support import run_unittest, verbose import math import operator -import rational +import fractions import unittest from copy import copy, deepcopy from pickle import dumps, loads -R = rational.Rational -gcd = rational.gcd +R = fractions.Fraction +gcd = fractions.gcd class GcdTest(unittest.TestCase): @@ -31,7 +31,7 @@ def _components(r): return (r.numerator, r.denominator) -class RationalTest(unittest.TestCase): +class FractionTest(unittest.TestCase): def assertTypedEquals(self, expected, actual): """Asserts that both the types and values are the same.""" @@ -60,7 +60,7 @@ class RationalTest(unittest.TestCase): self.assertEquals((7, 15), _components(R(7, 15))) self.assertEquals((10**23, 1), _components(R(10**23))) - self.assertRaisesMessage(ZeroDivisionError, "Rational(12, 0)", + self.assertRaisesMessage(ZeroDivisionError, "Fraction(12, 0)", R, 12, 0) self.assertRaises(TypeError, R, 1.5) self.assertRaises(TypeError, R, 1.5 + 3j) @@ -81,41 +81,41 @@ class RationalTest(unittest.TestCase): self.assertEquals((3, 5), _components(R(" .6 "))) self.assertRaisesMessage( - ZeroDivisionError, "Rational(3, 0)", + ZeroDivisionError, "Fraction(3, 0)", R, "3/0") self.assertRaisesMessage( - ValueError, "Invalid literal for Rational: 3/", + ValueError, "Invalid literal for Fraction: 3/", R, "3/") self.assertRaisesMessage( - ValueError, "Invalid literal for Rational: 3 /2", + ValueError, "Invalid literal for Fraction: 3 /2", R, "3 /2") self.assertRaisesMessage( # Denominators don't need a sign. - ValueError, "Invalid literal for Rational: 3/+2", + ValueError, "Invalid literal for Fraction: 3/+2", R, "3/+2") self.assertRaisesMessage( # Imitate float's parsing. - ValueError, "Invalid literal for Rational: + 3/2", + ValueError, "Invalid literal for Fraction: + 3/2", R, "+ 3/2") self.assertRaisesMessage( # Avoid treating '.' as a regex special character. - ValueError, "Invalid literal for Rational: 3a2", + ValueError, "Invalid literal for Fraction: 3a2", R, "3a2") self.assertRaisesMessage( # Only parse ordinary decimals, not scientific form. - ValueError, "Invalid literal for Rational: 3.2e4", + ValueError, "Invalid literal for Fraction: 3.2e4", R, "3.2e4") self.assertRaisesMessage( # Don't accept combinations of decimals and rationals. - ValueError, "Invalid literal for Rational: 3/7.2", + ValueError, "Invalid literal for Fraction: 3/7.2", R, "3/7.2") self.assertRaisesMessage( # Don't accept combinations of decimals and rationals. - ValueError, "Invalid literal for Rational: 3.2/7", + ValueError, "Invalid literal for Fraction: 3.2/7", R, "3.2/7") self.assertRaisesMessage( # Allow 3. and .3, but not . - ValueError, "Invalid literal for Rational: .", + ValueError, "Invalid literal for Fraction: .", R, ".") def testImmutable(self): @@ -136,7 +136,7 @@ class RationalTest(unittest.TestCase): def testFromFloat(self): self.assertRaisesMessage( - TypeError, "Rational.from_float() only takes floats, not 3 (int)", + TypeError, "Fraction.from_float() only takes floats, not 3 (int)", R.from_float, 3) self.assertEquals((0, 1), _components(R.from_float(-0.0))) @@ -152,19 +152,19 @@ class RationalTest(unittest.TestCase): inf = 1e1000 nan = inf - inf self.assertRaisesMessage( - TypeError, "Cannot convert inf to Rational.", + TypeError, "Cannot convert inf to Fraction.", R.from_float, inf) self.assertRaisesMessage( - TypeError, "Cannot convert -inf to Rational.", + TypeError, "Cannot convert -inf to Fraction.", R.from_float, -inf) self.assertRaisesMessage( - TypeError, "Cannot convert nan to Rational.", + TypeError, "Cannot convert nan to Fraction.", R.from_float, nan) def testFromDecimal(self): self.assertRaisesMessage( TypeError, - "Rational.from_decimal() only takes Decimals, not 3 (int)", + "Fraction.from_decimal() only takes Decimals, not 3 (int)", R.from_decimal, 3) self.assertEquals(R(0), R.from_decimal(Decimal("-0"))) self.assertEquals(R(5, 10), R.from_decimal(Decimal("0.5"))) @@ -174,16 +174,16 @@ class RationalTest(unittest.TestCase): R.from_decimal(Decimal("0." + "9" * 30))) self.assertRaisesMessage( - TypeError, "Cannot convert Infinity to Rational.", + TypeError, "Cannot convert Infinity to Fraction.", R.from_decimal, Decimal("inf")) self.assertRaisesMessage( - TypeError, "Cannot convert -Infinity to Rational.", + TypeError, "Cannot convert -Infinity to Fraction.", R.from_decimal, Decimal("-inf")) self.assertRaisesMessage( - TypeError, "Cannot convert NaN to Rational.", + TypeError, "Cannot convert NaN to Fraction.", R.from_decimal, Decimal("nan")) self.assertRaisesMessage( - TypeError, "Cannot convert sNaN to Rational.", + TypeError, "Cannot convert sNaN to Fraction.", R.from_decimal, Decimal("snan")) def testFromContinuedFraction(self): @@ -316,7 +316,7 @@ class RationalTest(unittest.TestCase): # Decimal refuses mixed comparisons. self.assertRaisesMessage( TypeError, - "unsupported operand type(s) for +: 'Rational' and 'Decimal'", + "unsupported operand type(s) for +: 'Fraction' and 'Decimal'", operator.add, R(3,11), Decimal('3.1415926')) self.assertNotEquals(R(5, 2), Decimal('2.5')) @@ -378,7 +378,7 @@ class RationalTest(unittest.TestCase): self.assertFalse(R(5, 2) == 2) def testStringification(self): - self.assertEquals("Rational(7,3)", repr(R(7, 3))) + self.assertEquals("Fraction(7,3)", repr(R(7, 3))) self.assertEquals("7/3", str(R(7, 3))) self.assertEquals("7", str(R(7, 1))) @@ -421,7 +421,7 @@ class RationalTest(unittest.TestCase): self.assertEqual(id(r), id(deepcopy(r))) def test_main(): - run_unittest(RationalTest, GcdTest) + run_unittest(FractionTest, GcdTest) if __name__ == '__main__': test_main() |