Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5edd785

Browse files
committed
Port test_complex.py to unittest.
Move the constructor tests from test_builtin to test_complex. Add a bunch of tests (code coverage is a 94%). From SF patch #736962.
1 parent 39c5d66 commit 5edd785

2 files changed

Lines changed: 249 additions & 145 deletions

File tree

Lib/test/test_builtin.py

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -201,62 +201,6 @@ def test_compile(self):
201201
if have_unicode:
202202
compile(unicode('print u"\xc3\xa5"\n', 'utf8'), '', 'exec')
203203

204-
def test_complex(self):
205-
class OS:
206-
def __complex__(self): return 1+10j
207-
class NS(object):
208-
def __complex__(self): return 1+10j
209-
self.assertEqual(complex(OS()), 1+10j)
210-
self.assertEqual(complex(NS()), 1+10j)
211-
self.assertEqual(complex("1+10j"), 1+10j)
212-
self.assertEqual(complex(10), 10+0j)
213-
self.assertEqual(complex(10.0), 10+0j)
214-
self.assertEqual(complex(10L), 10+0j)
215-
self.assertEqual(complex(10+0j), 10+0j)
216-
self.assertEqual(complex(1,10), 1+10j)
217-
self.assertEqual(complex(1,10L), 1+10j)
218-
self.assertEqual(complex(1,10.0), 1+10j)
219-
self.assertEqual(complex(1L,10), 1+10j)
220-
self.assertEqual(complex(1L,10L), 1+10j)
221-
self.assertEqual(complex(1L,10.0), 1+10j)
222-
self.assertEqual(complex(1.0,10), 1+10j)
223-
self.assertEqual(complex(1.0,10L), 1+10j)
224-
self.assertEqual(complex(1.0,10.0), 1+10j)
225-
self.assertEqual(complex(3.14+0j), 3.14+0j)
226-
self.assertEqual(complex(3.14), 3.14+0j)
227-
self.assertEqual(complex(314), 314.0+0j)
228-
self.assertEqual(complex(314L), 314.0+0j)
229-
self.assertEqual(complex(3.14+0j, 0j), 3.14+0j)
230-
self.assertEqual(complex(3.14, 0.0), 3.14+0j)
231-
self.assertEqual(complex(314, 0), 314.0+0j)
232-
self.assertEqual(complex(314L, 0L), 314.0+0j)
233-
self.assertEqual(complex(0j, 3.14j), -3.14+0j)
234-
self.assertEqual(complex(0.0, 3.14j), -3.14+0j)
235-
self.assertEqual(complex(0j, 3.14), 3.14j)
236-
self.assertEqual(complex(0.0, 3.14), 3.14j)
237-
self.assertEqual(complex("1"), 1+0j)
238-
self.assertEqual(complex("1j"), 1j)
239-
240-
c = 3.14 + 1j
241-
self.assert_(complex(c) is c)
242-
del c
243-
244-
self.assertRaises(TypeError, complex, "1", "1")
245-
self.assertRaises(TypeError, complex, 1, "1")
246-
247-
self.assertEqual(complex(" 3.14+J "), 3.14+1j)
248-
if have_unicode:
249-
self.assertEqual(complex(unicode(" 3.14+J ")), 3.14+1j)
250-
251-
# SF bug 543840: complex(string) accepts strings with \0
252-
# Fixed in 2.3.
253-
self.assertRaises(ValueError, complex, '1+1j\0j')
254-
255-
class Z:
256-
def __complex__(self): return 3.14j
257-
z = Z()
258-
self.assertEqual(complex(z), 3.14j)
259-
260204
def test_delattr(self):
261205
import sys
262206
sys.spam = 1

0 commit comments

Comments
 (0)