]> granicus.if.org Git - python/commitdiff
Add a test for fail*AlmostEqual, including the new support for complex numbers.
authorJeffrey Yasskin <jyasskin@gmail.com>
Fri, 7 Sep 2007 15:00:39 +0000 (15:00 +0000)
committerJeffrey Yasskin <jyasskin@gmail.com>
Fri, 7 Sep 2007 15:00:39 +0000 (15:00 +0000)
Lib/test/test_unittest.py
Lib/unittest.py

index 944ab22026d8c9200f348a774a4ea5b0d9fcc96f..9b43f45ef4094cef6bc3c972387b215322ec469e 100644 (file)
@@ -2292,13 +2292,34 @@ class Test_TestCase(TestCase, TestEquality, TestHashing):
         expected = ['startTest', 'test', 'stopTest']
         self.assertEqual(events, expected)
 
+class Test_Assertions(TestCase):
+    def test_AlmostEqual(self):
+        self.failUnlessAlmostEqual(1.00000001, 1.0)
+        self.failIfAlmostEqual(1.0000001, 1.0)
+        self.assertRaises(AssertionError,
+                          self.failUnlessAlmostEqual, 1.0000001, 1.0)
+        self.assertRaises(AssertionError,
+                          self.failIfAlmostEqual, 1.00000001, 1.0)
+
+        self.failUnlessAlmostEqual(1.1, 1.0, places=0)
+        self.assertRaises(AssertionError,
+                          self.failUnlessAlmostEqual, 1.1, 1.0, places=1)
+
+        self.failUnlessAlmostEqual(0, .1+.1j, places=0)
+        self.failIfAlmostEqual(0, .1+.1j, places=1)
+        self.assertRaises(AssertionError,
+                          self.failUnlessAlmostEqual, 0, .1+.1j, places=1)
+        self.assertRaises(AssertionError,
+                          self.failIfAlmostEqual, 0, .1+.1j, places=0)
+
 ######################################################################
 ## Main
 ######################################################################
 
 def test_main():
     test_support.run_unittest(Test_TestCase, Test_TestLoader,
-        Test_TestSuite, Test_TestResult, Test_FunctionTestCase)
+        Test_TestSuite, Test_TestResult, Test_FunctionTestCase,
+        Test_Assertions)
 
 if __name__ == "__main__":
     test_main()
index a023c671d29df0bd5e45200fa6f1604c9885dab1..bd72d90c49495111d299953164631e5a221b4906 100644 (file)
@@ -331,7 +331,7 @@ class TestCase:
         if first == second:
             raise self.failureException(msg or '%r == %r' % (first, second))
 
-    def failUnlessAlmostEqual(self, first, second, places=7, msg=None):
+    def failUnlessAlmostEqual(self, first, second, *, places=7, msg=None):
         """Fail if the two objects are unequal as determined by their
            difference rounded to the given number of decimal places
            (default 7) and comparing to zero.
@@ -343,7 +343,7 @@ class TestCase:
             raise self.failureException(msg or '%r != %r within %r places'
                                                % (first, second, places))
 
-    def failIfAlmostEqual(self, first, second, places=7, msg=None):
+    def failIfAlmostEqual(self, first, second, *, places=7, msg=None):
         """Fail if the two objects are equal as determined by their
            difference rounded to the given number of decimal places
            (default 7) and comparing to zero.