(self, cls=complex)
| 745 | self.assertRaises(ValueError, complex, lit) |
| 746 | |
| 747 | def test_from_number(self, cls=complex): |
| 748 | def eq(actual, expected): |
| 749 | self.assertEqual(actual, expected) |
| 750 | self.assertIs(type(actual), cls) |
| 751 | |
| 752 | eq(cls.from_number(3.14), 3.14+0j) |
| 753 | eq(cls.from_number(3.14j), 3.14j) |
| 754 | eq(cls.from_number(314), 314.0+0j) |
| 755 | eq(cls.from_number(OtherComplexSubclass(3.14, 2.72)), 3.14+2.72j) |
| 756 | eq(cls.from_number(WithComplex(3.14+2.72j)), 3.14+2.72j) |
| 757 | eq(cls.from_number(WithFloat(3.14)), 3.14+0j) |
| 758 | eq(cls.from_number(WithIndex(314)), 314.0+0j) |
| 759 | |
| 760 | cNAN = complex(NAN, NAN) |
| 761 | x = cls.from_number(cNAN) |
| 762 | self.assertTrue(x != x) |
| 763 | self.assertIs(type(x), cls) |
| 764 | if cls is complex: |
| 765 | self.assertIs(cls.from_number(cNAN), cNAN) |
| 766 | |
| 767 | self.assertRaises(TypeError, cls.from_number, '3.14') |
| 768 | self.assertRaises(TypeError, cls.from_number, b'3.14') |
| 769 | self.assertRaises(TypeError, cls.from_number, MyInt(314)) |
| 770 | self.assertRaises(TypeError, cls.from_number, {}) |
| 771 | self.assertRaises(TypeError, cls.from_number) |
| 772 | |
| 773 | def test_from_number_subclass(self): |
| 774 | self.test_from_number(ComplexSubclass) |
no test coverage detected