(self)
| 89 | return ((A, B, C), (SA, SB, SC)) |
| 90 | |
| 91 | def test_basic(self): |
| 92 | for A, B, C in self.make_classes(): |
| 93 | a = A(1) |
| 94 | self.assertEqual(a.a, 1) |
| 95 | self.assertEqual(a.akw, 10) |
| 96 | b = B(11, 21) |
| 97 | self.assertEqual(b.a, 11) |
| 98 | self.assertEqual(b.akw, 20) |
| 99 | self.assertEqual(b.b, 21) |
| 100 | c = C(111, 211, 311) |
| 101 | self.assertEqual(c.a, 111) |
| 102 | self.assertEqual(c.akw, 20) |
| 103 | self.assertEqual(c.b, 211) |
| 104 | self.assertEqual(c.c, 311) |
| 105 | # changing A is ok! |
| 106 | a.a = 11 |
| 107 | self.assertEqual(a.a, 11) |
| 108 | # changing B is not! |
| 109 | with self.assertRaises(TypeError): |
| 110 | b.a = 11 |
| 111 | with self.assertRaises(TypeError): |
| 112 | del b.a |
| 113 | |
| 114 | def test_constructor_deletes_attribute(self): |
| 115 | class A: |
nothing calls this directly
no test coverage detected