[Python-checkins] r54697 - python/trunk/Lib/test/test_long_future.py

collin.winter python-checkins at python.org
Thu Apr 5 22:05:12 CEST 2007


Author: collin.winter
Date: Thu Apr  5 22:05:07 2007
New Revision: 54697

Modified:
   python/trunk/Lib/test/test_long_future.py
Log:
Convert test_long_future to use unittest.

Modified: python/trunk/Lib/test/test_long_future.py
==============================================================================
--- python/trunk/Lib/test/test_long_future.py	(original)
+++ python/trunk/Lib/test/test_long_future.py	Thu Apr  5 22:05:07 2007
@@ -3,53 +3,53 @@
 # test_long.py instead.  In the meantime, it's too obscure to try to
 # trick just part of test_long into using future division.
 
-from test.test_support import TestFailed, verify, verbose
+import unittest
+from test.test_support import run_unittest
 
-def test_true_division():
-    if verbose:
-        print "long true division"
-    huge = 1L << 40000
-    mhuge = -huge
-    verify(huge / huge == 1.0)
-    verify(mhuge / mhuge == 1.0)
-    verify(huge / mhuge == -1.0)
-    verify(mhuge / huge == -1.0)
-    verify(1 / huge == 0.0)
-    verify(1L / huge == 0.0)
-    verify(1 / mhuge == 0.0)
-    verify(1L / mhuge == 0.0)
-    verify((666 * huge + (huge >> 1)) / huge == 666.5)
-    verify((666 * mhuge + (mhuge >> 1)) / mhuge == 666.5)
-    verify((666 * huge + (huge >> 1)) / mhuge == -666.5)
-    verify((666 * mhuge + (mhuge >> 1)) / huge == -666.5)
-    verify(huge / (huge << 1) == 0.5)
-    verify((1000000 * huge) / huge == 1000000)
-
-    namespace = {'huge': huge, 'mhuge': mhuge}
-
-    for overflow in ["float(huge)", "float(mhuge)",
-                     "huge / 1", "huge / 2L", "huge / -1", "huge / -2L",
-                     "mhuge / 100", "mhuge / 100L"]:
-        try:
-            eval(overflow, namespace)
-        except OverflowError:
-            pass
-        else:
-            raise TestFailed("expected OverflowError from %r" % overflow)
-
-    for underflow in ["1 / huge", "2L / huge", "-1 / huge", "-2L / huge",
-                     "100 / mhuge", "100L / mhuge"]:
-        result = eval(underflow, namespace)
-        if result != 0.0:
-            raise TestFailed("expected underflow to 0 from %r" % underflow)
-
-    for zero in ["huge / 0", "huge / 0L",
-                 "mhuge / 0", "mhuge / 0L"]:
-        try:
-            eval(zero, namespace)
-        except ZeroDivisionError:
-            pass
-        else:
-            raise TestFailed("expected ZeroDivisionError from %r" % zero)
-
-test_true_division()
+class TrueDivisionTests(unittest.TestCase):
+    def test(self):
+        huge = 1L << 40000
+        mhuge = -huge
+        self.assertEqual(huge / huge, 1.0)
+        self.assertEqual(mhuge / mhuge, 1.0)
+        self.assertEqual(huge / mhuge, -1.0)
+        self.assertEqual(mhuge / huge, -1.0)
+        self.assertEqual(1 / huge, 0.0)
+        self.assertEqual(1L / huge, 0.0)
+        self.assertEqual(1 / mhuge, 0.0)
+        self.assertEqual(1L / mhuge, 0.0)
+        self.assertEqual((666 * huge + (huge >> 1)) / huge, 666.5)
+        self.assertEqual((666 * mhuge + (mhuge >> 1)) / mhuge, 666.5)
+        self.assertEqual((666 * huge + (huge >> 1)) / mhuge, -666.5)
+        self.assertEqual((666 * mhuge + (mhuge >> 1)) / huge, -666.5)
+        self.assertEqual(huge / (huge << 1), 0.5)
+        self.assertEqual((1000000 * huge) / huge, 1000000)
+
+        namespace = {'huge': huge, 'mhuge': mhuge}
+
+        for overflow in ["float(huge)", "float(mhuge)",
+                         "huge / 1", "huge / 2L", "huge / -1", "huge / -2L",
+                         "mhuge / 100", "mhuge / 100L"]:
+            # XXX(cwinter) this test doesn't pass when converted to
+            # use assertRaises.
+            try:
+                eval(overflow, namespace)
+                self.fail("expected OverflowError from %r" % overflow)
+            except OverflowError:
+                pass
+
+        for underflow in ["1 / huge", "2L / huge", "-1 / huge", "-2L / huge",
+                         "100 / mhuge", "100L / mhuge"]:
+            result = eval(underflow, namespace)
+            self.assertEqual(result, 0.0,
+                             "expected underflow to 0 from %r" % underflow)
+
+        for zero in ["huge / 0", "huge / 0L", "mhuge / 0", "mhuge / 0L"]:
+            self.assertRaises(ZeroDivisionError, eval, zero, namespace)
+
+
+def test_main():
+    run_unittest(TrueDivisionTests)
+    
+if __name__ == "__main__":
+    test_main()


More information about the Python-checkins mailing list