diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2014-10-10 21:49:32 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2014-10-10 21:49:32 (GMT) |
commit | 9086f9260f1f48a231cba4e7123eb7ac8159ba40 (patch) | |
tree | 64f7c407d5a814a7ef471ad74bbcd88bf5ec4289 /Lib | |
parent | a13dab47cb8c6184115c73c379712a71c6ef7f79 (diff) | |
download | cpython-9086f9260f1f48a231cba4e7123eb7ac8159ba40.zip cpython-9086f9260f1f48a231cba4e7123eb7ac8159ba40.tar.gz cpython-9086f9260f1f48a231cba4e7123eb7ac8159ba40.tar.bz2 |
Issue #22604: Fix assertion error in debug mode when dividing a complex number by (nan+0j).
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_complex.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/test/test_complex.py b/Lib/test/test_complex.py index cd55375..0ef9a7a 100644 --- a/Lib/test/test_complex.py +++ b/Lib/test/test_complex.py @@ -27,7 +27,7 @@ class ComplexTest(unittest.TestCase): unittest.TestCase.assertAlmostEqual(self, a, b) def assertCloseAbs(self, x, y, eps=1e-9): - """Return true iff floats x and y "are close\"""" + """Return true iff floats x and y "are close".""" # put the one with larger magnitude second if abs(x) > abs(y): x, y = y, x @@ -62,7 +62,7 @@ class ComplexTest(unittest.TestCase): self.fail(msg.format(x, y)) def assertClose(self, x, y, eps=1e-9): - """Return true iff complexes x and y "are close\"""" + """Return true iff complexes x and y "are close".""" self.assertCloseAbs(x.real, y.real, eps) self.assertCloseAbs(x.imag, y.imag, eps) @@ -104,6 +104,11 @@ class ComplexTest(unittest.TestCase): self.assertAlmostEqual(complex.__truediv__(2+0j, 1+1j), 1-1j) self.assertRaises(ZeroDivisionError, complex.__truediv__, 1+1j, 0+0j) + for denom_real, denom_imag in [(0, NAN), (NAN, 0), (NAN, NAN)]: + z = complex(0, 0) / complex(denom_real, denom_imag) + self.assertTrue(isnan(z.real)) + self.assertTrue(isnan(z.imag)) + def test_floordiv(self): self.assertRaises(TypeError, complex.__floordiv__, 3+0j, 1.5+0j) self.assertRaises(TypeError, complex.__floordiv__, 3+0j, 0+0j) |