Rev 3010: * New assertion ``assertEqualFloat`` for testing floating point 'equality'. in http://people.ubuntu.com/~robertc/baz2.0/nested-pb

Robert Collins robertc at robertcollins.net
Tue Nov 20 22:16:49 GMT 2007


At http://people.ubuntu.com/~robertc/baz2.0/nested-pb

------------------------------------------------------------
revno: 3010
revision-id:robertc at robertcollins.net-20071120221630-3eqbqcwx2gnkemhw
parent: robertc at robertcollins.net-20071119195948-n46szsvkgl0c9lj4
committer: Robert Collins <robertc at robertcollins.net>
branch nick: assertEqualFloat
timestamp: Wed 2007-11-21 09:16:30 +1100
message:
  * New assertion ``assertEqualFloat`` for testing floating point 'equality'.
    (Robert Collins)
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
  bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
=== modified file 'NEWS'
--- a/NEWS	2007-11-17 18:07:42 +0000
+++ b/NEWS	2007-11-20 22:16:30 +0000
@@ -132,6 +132,9 @@
 
   TESTING:
 
+   * New assertion ``assertEqualFloat`` for testing floating point 'equality'.
+     (Robert Collins)
+
 
 bzr 0.92rc1 2007-10-29
 ======================

=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2007-11-14 21:07:54 +0000
+++ b/bzrlib/tests/__init__.py	2007-11-20 22:16:30 +0000
@@ -873,6 +873,13 @@
         raise AssertionError(message +
                              self._ndiff_strings(a, b))
         
+    def assertEqualFloat(self, left, right):
+        """Assert that two floats are within 0.000001 of each other."""
+        difference = left - right
+        if abs(difference) < 0.000001:
+            return
+        self.fail("%s != %s" % (left, right))
+
     def assertEqualMode(self, mode, mode_test):
         self.assertEqual(mode, mode_test,
                          'mode mismatch %o != %o' % (mode, mode_test))

=== modified file 'bzrlib/tests/test_selftest.py'
--- a/bzrlib/tests/test_selftest.py	2007-10-26 08:12:56 +0000
+++ b/bzrlib/tests/test_selftest.py	2007-11-20 22:16:30 +0000
@@ -1442,6 +1442,10 @@
             ],
             result.calls)
 
+    def test_assertEqualFloat(self):
+        self.assertEqualFloat(0, 0.0000001)
+        self.assertRaises(AssertionError, self.assertEqualFloat, 0, 0.000002)
+
 
 @symbol_versioning.deprecated_function(zero_eleven)
 def sample_deprecated_function():



More information about the bazaar-commits mailing list