mirror of
https://github.com/python/cpython.git
synced 2025-09-18 06:30:38 +00:00
Add a test for fail*AlmostEqual, including the new support for complex numbers.
This commit is contained in:
parent
96593ed348
commit
aaaef110dc
2 changed files with 24 additions and 3 deletions
|
@ -2292,13 +2292,34 @@ class Test_TestCase(TestCase, TestEquality, TestHashing):
|
||||||
expected = ['startTest', 'test', 'stopTest']
|
expected = ['startTest', 'test', 'stopTest']
|
||||||
self.assertEqual(events, expected)
|
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
|
## Main
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
test_support.run_unittest(Test_TestCase, Test_TestLoader,
|
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__":
|
if __name__ == "__main__":
|
||||||
test_main()
|
test_main()
|
||||||
|
|
|
@ -331,7 +331,7 @@ class TestCase:
|
||||||
if first == second:
|
if first == second:
|
||||||
raise self.failureException(msg or '%r == %r' % (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
|
"""Fail if the two objects are unequal as determined by their
|
||||||
difference rounded to the given number of decimal places
|
difference rounded to the given number of decimal places
|
||||||
(default 7) and comparing to zero.
|
(default 7) and comparing to zero.
|
||||||
|
@ -343,7 +343,7 @@ class TestCase:
|
||||||
raise self.failureException(msg or '%r != %r within %r places'
|
raise self.failureException(msg or '%r != %r within %r places'
|
||||||
% (first, second, 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
|
"""Fail if the two objects are equal as determined by their
|
||||||
difference rounded to the given number of decimal places
|
difference rounded to the given number of decimal places
|
||||||
(default 7) and comparing to zero.
|
(default 7) and comparing to zero.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue