diff options
author | Guido van Rossum <guido@python.org> | 2007-08-30 17:45:54 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-08-30 17:45:54 (GMT) |
commit | 1daf954dcf6fa5630b049f1d1edcc9cc656ea5be (patch) | |
tree | 95de5f7d39e32bfb755eba5988c92f366f714782 /Lib/test/test_abstract_numbers.py | |
parent | 3cd6537beb7df1831fcd7cfdc6d74616648feddf (diff) | |
download | cpython-1daf954dcf6fa5630b049f1d1edcc9cc656ea5be.zip cpython-1daf954dcf6fa5630b049f1d1edcc9cc656ea5be.tar.gz cpython-1daf954dcf6fa5630b049f1d1edcc9cc656ea5be.tar.bz2 |
Add numbers.py. I suspect this is an old version, but Jeffrey is out
of town, and it will have to do for now.
Diffstat (limited to 'Lib/test/test_abstract_numbers.py')
-rw-r--r-- | Lib/test/test_abstract_numbers.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/Lib/test/test_abstract_numbers.py b/Lib/test/test_abstract_numbers.py new file mode 100644 index 0000000..9fffd28 --- /dev/null +++ b/Lib/test/test_abstract_numbers.py @@ -0,0 +1,53 @@ +"""Unit tests for numbers.py.""" + +import unittest +from test import test_support +from numbers import Number +from numbers import Exact, Inexact +from numbers import Complex, Real, Rational, Integral +import operator + +class TestNumbers(unittest.TestCase): + def test_int(self): + self.failUnless(issubclass(int, Integral)) + self.failUnless(issubclass(int, Complex)) + self.failUnless(issubclass(int, Exact)) + self.failIf(issubclass(int, Inexact)) + + self.assertEqual(7, int(7).real) + self.assertEqual(0, int(7).imag) + self.assertEqual(7, int(7).conjugate()) + self.assertEqual(7, int(7).numerator) + self.assertEqual(1, int(7).denominator) + + def test_float(self): + self.failIf(issubclass(float, Rational)) + self.failUnless(issubclass(float, Real)) + self.failIf(issubclass(float, Exact)) + self.failUnless(issubclass(float, Inexact)) + + self.assertEqual(7.3, float(7.3).real) + self.assertEqual(0, float(7.3).imag) + self.assertEqual(7.3, float(7.3).conjugate()) + + def test_complex(self): + self.failIf(issubclass(complex, Real)) + self.failUnless(issubclass(complex, Complex)) + self.failIf(issubclass(complex, Exact)) + self.failUnless(issubclass(complex, Inexact)) + + c1, c2 = complex(3, 2), complex(4,1) + # TODO: Uncomment this test when trunc() exists. + #self.assertRaises(None, trunc, c1) + self.assertRaises(TypeError, operator.mod, c1, c2) + self.assertRaises(TypeError, divmod, c1, c2) + self.assertRaises(TypeError, operator.floordiv, c1, c2) + self.assertRaises(TypeError, float, c1) + self.assertRaises(TypeError, int, c1) + +def test_main(): + test_support.run_unittest(TestNumbers) + + +if __name__ == "__main__": + unittest.main() |