1
"""Unit tests for numbers.py."""
6
from numbers import Complex, Real, Rational, Integral
7
from numbers import Number
8
from test import test_support
10
class TestNumbers(unittest.TestCase):
12
self.failUnless(issubclass(int, Integral))
13
self.failUnless(issubclass(int, Complex))
15
self.assertEqual(7, int(7).real)
16
self.assertEqual(0, int(7).imag)
17
self.assertEqual(7, int(7).conjugate())
18
self.assertEqual(7, int(7).numerator)
19
self.assertEqual(1, int(7).denominator)
22
self.failUnless(issubclass(long, Integral))
23
self.failUnless(issubclass(long, Complex))
25
self.assertEqual(7, long(7).real)
26
self.assertEqual(0, long(7).imag)
27
self.assertEqual(7, long(7).conjugate())
28
self.assertEqual(7, long(7).numerator)
29
self.assertEqual(1, long(7).denominator)
32
self.failIf(issubclass(float, Rational))
33
self.failUnless(issubclass(float, Real))
35
self.assertEqual(7.3, float(7.3).real)
36
self.assertEqual(0, float(7.3).imag)
37
self.assertEqual(7.3, float(7.3).conjugate())
39
def test_complex(self):
40
self.failIf(issubclass(complex, Real))
41
self.failUnless(issubclass(complex, Complex))
43
c1, c2 = complex(3, 2), complex(4,1)
44
# XXX: This is not ideal, but see the comment in math_trunc().
45
self.assertRaises(AttributeError, math.trunc, c1)
46
self.assertRaises(TypeError, float, c1)
47
self.assertRaises(TypeError, int, c1)
50
test_support.run_unittest(TestNumbers)
53
if __name__ == "__main__":