def test_from_raw_unsupported(self): tests = [ '(1,1', object(), [], (1, ), (1, 1, 1), ] for raw in tests: with self.subTest(repr(raw)): with self.assertRaises(ValueError): Point2D.from_raw(raw)
def test_from_raw_supported(self): tests = { None: None, Point2D(): None, '1,1': Point2D(1, 1), 1: Point2D(1, 0), # 1.0 collids with 1, so we check separately below. #1.0: Point2D(1.0, 0), 1 + 1j: Point2D(1, 1), (1, 1): Point2D(1, 1), } for raw, expected in tests.items(): with self.subTest(repr(raw)): p = Point2D.from_raw(raw) self.assertEqual(p, expected or raw) p = Point2D.from_raw(1.0) self.assertEqual(p, Point2D(1.0, 0))