~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Lib/test/test_abstract_numbers.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
"""Unit tests for numbers.py."""
 
2
 
 
3
import math
 
4
import operator
 
5
import unittest
 
6
from numbers import Complex, Real, Rational, Integral
 
7
from numbers import Number
 
8
from test import test_support
 
9
 
 
10
class TestNumbers(unittest.TestCase):
 
11
    def test_int(self):
 
12
        self.failUnless(issubclass(int, Integral))
 
13
        self.failUnless(issubclass(int, Complex))
 
14
 
 
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)
 
20
 
 
21
    def test_long(self):
 
22
        self.failUnless(issubclass(long, Integral))
 
23
        self.failUnless(issubclass(long, Complex))
 
24
 
 
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)
 
30
 
 
31
    def test_float(self):
 
32
        self.failIf(issubclass(float, Rational))
 
33
        self.failUnless(issubclass(float, Real))
 
34
 
 
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())
 
38
 
 
39
    def test_complex(self):
 
40
        self.failIf(issubclass(complex, Real))
 
41
        self.failUnless(issubclass(complex, Complex))
 
42
 
 
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)
 
48
 
 
49
def test_main():
 
50
    test_support.run_unittest(TestNumbers)
 
51
 
 
52
 
 
53
if __name__ == "__main__":
 
54
    unittest.main()