@@ -232,6 +232,31 @@ def test_sub(self):
232232 self .assertComplexesAreIdentical ((1 - 0j ) - 1 , complex (0 , - 0.0 ))
233233 self .assertComplexesAreIdentical (1 - (1 - 0j ), complex (0 , 0 ))
234234
235+ def test_mul (self ):
236+ self .assertAlmostEqual (1j * 2 , complex (0 , 2 ))
237+ self .assertAlmostEqual (1j * (- 1 ), complex (0 , - 1 ))
238+ self .assertRaises (OverflowError , operator .mul , 1j , 10 ** 1000 )
239+ self .assertRaises (TypeError , operator .mul , 1j , None )
240+ self .assertRaises (TypeError , operator .mul , None , 1j )
241+
242+ self .assertComplexesAreIdentical (0.0 * 0j , complex (0 , 0 ))
243+ self .assertComplexesAreIdentical (0j * 0.0 , complex (0.0 , 0 ))
244+ self .assertComplexesAreIdentical (- 0.0 * 0j , complex (0.0 , - 0.0 ))
245+ self .assertComplexesAreIdentical (0j * (- 0.0 ), complex (0 , - 0.0 ))
246+ self .assertComplexesAreIdentical ((- 0.0 + 0j ) * 0.0 , complex (- 0.0 , 0 ))
247+ self .assertComplexesAreIdentical (0.0 * (- 0.0 + 0j ), complex (- 0.0 , 0 ))
248+ self .assertComplexesAreIdentical ((- 0.0 + 0j ) * (- 0.0 ), complex (0 , - 0.0 ))
249+ self .assertComplexesAreIdentical ((- 0.0 ) * (- 0.0 + 0j ), complex (0 , - 0.0 ))
250+ self .assertComplexesAreIdentical ((- 0.0 - 0j ) * (- 0.0 ), complex (0 , 0 ))
251+ self .assertComplexesAreIdentical ((- 0.0 ) * (- 0.0 - 0j ), complex (0 , 0 ))
252+ self .assertComplexesAreIdentical ((1 + 0j ) * (1 - 0j ), complex (1 , 0 ))
253+ self .assertComplexesAreIdentical (0j * (- 0.0 - 0j ), complex (0.0 , - 0.0 ))
254+ self .assertComplexesAreIdentical (0j * (- 0j ), complex (0 , 0 ))
255+ self .assertComplexesAreIdentical ((1 + 0j ) * (- 0.0 - 0j ), complex (0 , - 0.0 ))
256+ self .assertComplexesAreIdentical ((- 0.0 + 0j ) * (- 0j ), complex (0 , 0 ))
257+ self .assertComplexesAreIdentical ((1 + 0j ) * 1 , complex (1 , 0 ))
258+ self .assertComplexesAreIdentical (1 * (1 + 0j ), complex (1 , 0 ))
259+
235260 def test_mod (self ):
236261 # % is no longer supported on complex numbers
237262 with self .assertRaises (TypeError ):
0 commit comments