Skip to content

Commit c7081f9

Browse files
authored
Merge pull request RustPython#4755 from jinnarajin/test_update
update test_complex.py from cpython 3.11.2
2 parents e3bf553 + 919a2fb commit c7081f9

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

Lib/test/test_complex.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -310,15 +310,10 @@ def test_conjugate(self):
310310
# TODO: RUSTPYTHON
311311
@unittest.expectedFailure
312312
def test_constructor(self):
313-
class OS:
313+
class NS:
314314
def __init__(self, value): self.value = value
315315
def __complex__(self): return self.value
316-
class NS(object):
317-
def __init__(self, value): self.value = value
318-
def __complex__(self): return self.value
319-
self.assertEqual(complex(OS(1+10j)), 1+10j)
320316
self.assertEqual(complex(NS(1+10j)), 1+10j)
321-
self.assertRaises(TypeError, complex, OS(None))
322317
self.assertRaises(TypeError, complex, NS(None))
323318
self.assertRaises(TypeError, complex, {})
324319
self.assertRaises(TypeError, complex, NS(1.5))
@@ -503,6 +498,18 @@ def __complex__(self):
503498
self.assertEqual(complex(complex1(1j)), 2j)
504499
self.assertRaises(TypeError, complex, complex2(1j))
505500

501+
def test___complex__(self):
502+
z = 3 + 4j
503+
self.assertEqual(z.__complex__(), z)
504+
self.assertEqual(type(z.__complex__()), complex)
505+
506+
class complex_subclass(complex):
507+
pass
508+
509+
z = complex_subclass(3 + 4j)
510+
self.assertEqual(z.__complex__(), 3 + 4j)
511+
self.assertEqual(type(z.__complex__()), complex)
512+
506513
@support.requires_IEEE_754
507514
def test_constructor_special_numbers(self):
508515
class complex2(complex):

0 commit comments

Comments
 (0)