From 919a2fbfda2a9649a73e09622234cb9602b8bb5c Mon Sep 17 00:00:00 2001 From: jinnarajin <203514@dasa.hs.kr> Date: Sat, 25 Mar 2023 15:39:59 +0900 Subject: [PATCH] update test_complex.py from cpython 3.11.2 --- Lib/test/test_complex.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/Lib/test/test_complex.py b/Lib/test/test_complex.py index 73c0722dc4..fd6e6de5fc 100644 --- a/Lib/test/test_complex.py +++ b/Lib/test/test_complex.py @@ -310,15 +310,10 @@ def test_conjugate(self): # TODO: RUSTPYTHON @unittest.expectedFailure def test_constructor(self): - class OS: + class NS: def __init__(self, value): self.value = value def __complex__(self): return self.value - class NS(object): - def __init__(self, value): self.value = value - def __complex__(self): return self.value - self.assertEqual(complex(OS(1+10j)), 1+10j) self.assertEqual(complex(NS(1+10j)), 1+10j) - self.assertRaises(TypeError, complex, OS(None)) self.assertRaises(TypeError, complex, NS(None)) self.assertRaises(TypeError, complex, {}) self.assertRaises(TypeError, complex, NS(1.5)) @@ -503,6 +498,18 @@ def __complex__(self): self.assertEqual(complex(complex1(1j)), 2j) self.assertRaises(TypeError, complex, complex2(1j)) + def test___complex__(self): + z = 3 + 4j + self.assertEqual(z.__complex__(), z) + self.assertEqual(type(z.__complex__()), complex) + + class complex_subclass(complex): + pass + + z = complex_subclass(3 + 4j) + self.assertEqual(z.__complex__(), 3 + 4j) + self.assertEqual(type(z.__complex__()), complex) + @support.requires_IEEE_754 def test_constructor_special_numbers(self): class complex2(complex):