summaryrefslogtreecommitdiff
path: root/src/python/stdlib/test/test_abstract_numbers.py
diff options
context:
space:
mode:
authorLieuwe <lieuwemo@gmail.com>2011-03-18 16:04:51 (GMT)
committer Lieuwe <lieuwemo@gmail.com>2011-03-18 16:04:51 (GMT)
commit9c39875ef09d439ef51716dba091188f72977f5e (patch)
treefb0fd27a1bcd3e54a1913852c23aa137ee5eb30b /src/python/stdlib/test/test_abstract_numbers.py
parentbc8af4e2101ac93bdc51b59ee64fa43ecb2442f3 (diff)
downloadpowder-9c39875ef09d439ef51716dba091188f72977f5e.zip
powder-9c39875ef09d439ef51716dba091188f72977f5e.tar.gz
...
Diffstat (limited to 'src/python/stdlib/test/test_abstract_numbers.py')
-rw-r--r--src/python/stdlib/test/test_abstract_numbers.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/python/stdlib/test/test_abstract_numbers.py b/src/python/stdlib/test/test_abstract_numbers.py
new file mode 100644
index 0000000..925f8cf
--- /dev/null
+++ b/src/python/stdlib/test/test_abstract_numbers.py
@@ -0,0 +1,52 @@
+"""Unit tests for numbers.py."""
+
+import math
+import unittest
+from numbers import Complex, Real, Rational, Integral
+from test import test_support
+
+class TestNumbers(unittest.TestCase):
+ def test_int(self):
+ self.assertTrue(issubclass(int, Integral))
+ self.assertTrue(issubclass(int, Complex))
+
+ 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_long(self):
+ self.assertTrue(issubclass(long, Integral))
+ self.assertTrue(issubclass(long, Complex))
+
+ self.assertEqual(7, long(7).real)
+ self.assertEqual(0, long(7).imag)
+ self.assertEqual(7, long(7).conjugate())
+ self.assertEqual(7, long(7).numerator)
+ self.assertEqual(1, long(7).denominator)
+
+ def test_float(self):
+ self.assertFalse(issubclass(float, Rational))
+ self.assertTrue(issubclass(float, Real))
+
+ 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.assertFalse(issubclass(complex, Real))
+ self.assertTrue(issubclass(complex, Complex))
+
+ c1, c2 = complex(3, 2), complex(4,1)
+ # XXX: This is not ideal, but see the comment in math_trunc().
+ self.assertRaises(AttributeError, math.trunc, c1)
+ self.assertRaises(TypeError, float, c1)
+ self.assertRaises(TypeError, int, c1)
+
+def test_main():
+ test_support.run_unittest(TestNumbers)
+
+
+if __name__ == "__main__":
+ unittest.main()