@@ -27,7 +27,7 @@ def assertAlmostEqual(self, a, b):
2727 unittest .TestCase .assertAlmostEqual (self , a , b )
2828
2929 def assertCloseAbs (self , x , y , eps = 1e-9 ):
30- """Return true iff floats x and y "are close\" """
30+ """Return true iff floats x and y "are close". """
3131 # put the one with larger magnitude second
3232 if abs (x ) > abs (y ):
3333 x , y = y , x
@@ -62,7 +62,7 @@ def assertFloatsAreIdentical(self, x, y):
6262 self .fail (msg .format (x , y ))
6363
6464 def assertClose (self , x , y , eps = 1e-9 ):
65- """Return true iff complexes x and y "are close\" """
65+ """Return true iff complexes x and y "are close". """
6666 self .assertCloseAbs (x .real , y .real , eps )
6767 self .assertCloseAbs (x .imag , y .imag , eps )
6868
@@ -104,6 +104,11 @@ def test_truediv(self):
104104 self .assertAlmostEqual (complex .__truediv__ (2 + 0j , 1 + 1j ), 1 - 1j )
105105 self .assertRaises (ZeroDivisionError , complex .__truediv__ , 1 + 1j , 0 + 0j )
106106
107+ for denom_real , denom_imag in [(0 , NAN ), (NAN , 0 ), (NAN , NAN )]:
108+ z = complex (0 , 0 ) / complex (denom_real , denom_imag )
109+ self .assertTrue (isnan (z .real ))
110+ self .assertTrue (isnan (z .imag ))
111+
107112 def test_floordiv (self ):
108113 self .assertRaises (TypeError , complex .__floordiv__ , 3 + 0j , 1.5 + 0j )
109114 self .assertRaises (TypeError , complex .__floordiv__ , 3 + 0j , 0 + 0j )
0 commit comments