mirror of
https://github.com/python/cpython.git
synced 2025-07-30 22:54:16 +00:00
Patch #1491866: change the complex() constructor to allow parthensized forms. This means complex(repr(x)) now works instead of raising a ValueError.
This commit is contained in:
parent
1bcffef959
commit
e38051db87
3 changed files with 41 additions and 5 deletions
|
@ -215,6 +215,8 @@ class ComplexTest(unittest.TestCase):
|
|||
self.assertAlmostEqual(complex(), 0)
|
||||
self.assertAlmostEqual(complex("-1"), -1)
|
||||
self.assertAlmostEqual(complex("+1"), +1)
|
||||
self.assertAlmostEqual(complex("(1+2j)"), 1+2j)
|
||||
self.assertAlmostEqual(complex("(1.3+2.2j)"), 1.3+2.2j)
|
||||
|
||||
class complex2(complex): pass
|
||||
self.assertAlmostEqual(complex(complex2(1+1j)), 1+1j)
|
||||
|
@ -244,12 +246,17 @@ class ComplexTest(unittest.TestCase):
|
|||
self.assertRaises(ValueError, complex, "")
|
||||
self.assertRaises(TypeError, complex, None)
|
||||
self.assertRaises(ValueError, complex, "\0")
|
||||
self.assertRaises(ValueError, complex, "3\09")
|
||||
self.assertRaises(TypeError, complex, "1", "2")
|
||||
self.assertRaises(TypeError, complex, "1", 42)
|
||||
self.assertRaises(TypeError, complex, 1, "2")
|
||||
self.assertRaises(ValueError, complex, "1+")
|
||||
self.assertRaises(ValueError, complex, "1+1j+1j")
|
||||
self.assertRaises(ValueError, complex, "--")
|
||||
self.assertRaises(ValueError, complex, "(1+2j")
|
||||
self.assertRaises(ValueError, complex, "1+2j)")
|
||||
self.assertRaises(ValueError, complex, "1+(2j)")
|
||||
self.assertRaises(ValueError, complex, "(1+2j)123")
|
||||
if test_support.have_unicode:
|
||||
self.assertRaises(ValueError, complex, unicode("1"*500))
|
||||
self.assertRaises(ValueError, complex, unicode("x"))
|
||||
|
@ -312,6 +319,11 @@ class ComplexTest(unittest.TestCase):
|
|||
|
||||
self.assertNotEqual(repr(-(1+0j)), '(-1+-0j)')
|
||||
|
||||
self.assertEqual(1-6j,complex(repr(1-6j)))
|
||||
self.assertEqual(1+6j,complex(repr(1+6j)))
|
||||
self.assertEqual(-6j,complex(repr(-6j)))
|
||||
self.assertEqual(6j,complex(repr(6j)))
|
||||
|
||||
def test_neg(self):
|
||||
self.assertEqual(-(1+6j), -1-6j)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue