mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Make sure that complex parsing code and corresponding tests
match for 2.7 and 3.1, and that 3.1 continues to accept complex('j') and complex('4-j')
This commit is contained in:
parent
c00b5ef06e
commit
6649fa42f8
2 changed files with 98 additions and 27 deletions
|
@ -227,6 +227,15 @@ class ComplexTest(unittest.TestCase):
|
|||
self.assertAlmostEqual(complex("(1.3+2.2j)"), 1.3+2.2j)
|
||||
self.assertAlmostEqual(complex("3.14+1J"), 3.14+1j)
|
||||
self.assertAlmostEqual(complex(" ( +3.14-6J )"), 3.14-6j)
|
||||
self.assertAlmostEqual(complex(" ( +3.14-J )"), 3.14-1j)
|
||||
self.assertAlmostEqual(complex(" ( +3.14+j )"), 3.14+1j)
|
||||
self.assertAlmostEqual(complex("J"), 1j)
|
||||
self.assertAlmostEqual(complex("( j )"), 1j)
|
||||
self.assertAlmostEqual(complex("+J"), 1j)
|
||||
self.assertAlmostEqual(complex("( -j)"), -1j)
|
||||
self.assertAlmostEqual(complex('1e-500'), 0.0 + 0.0j)
|
||||
self.assertAlmostEqual(complex('-1e-500j'), 0.0 - 0.0j)
|
||||
self.assertAlmostEqual(complex('-1e-500+1e-500j'), -0.0 + 0.0j)
|
||||
|
||||
class complex2(complex): pass
|
||||
self.assertAlmostEqual(complex(complex2(1+1j)), 1+1j)
|
||||
|
@ -277,11 +286,14 @@ class ComplexTest(unittest.TestCase):
|
|||
self.assertRaises(ValueError, complex, "(1+2j)123")
|
||||
self.assertRaises(ValueError, complex, "1"*500)
|
||||
self.assertRaises(ValueError, complex, "x")
|
||||
self.assertRaises(ValueError, complex, "J")
|
||||
self.assertRaises(ValueError, complex, "1j+2")
|
||||
self.assertRaises(ValueError, complex, "1e1ej")
|
||||
self.assertRaises(ValueError, complex, "1e++1ej")
|
||||
self.assertRaises(ValueError, complex, ")1+2j(")
|
||||
# the following three are accepted by Python 2.6
|
||||
self.assertRaises(ValueError, complex, "1..1j")
|
||||
self.assertRaises(ValueError, complex, "1.11.1j")
|
||||
self.assertRaises(ValueError, complex, "1e1.1j")
|
||||
|
||||
class EvilExc(Exception):
|
||||
pass
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue