def METHOD_NAME(self):
    for A, B, C in self.make_classes():
        a = A(1)
        self.assertEqual(a.a, 1)
        self.assertEqual(a.akw, 10)
        b = B(11, 21)
        self.assertEqual(b.a, 11)
        self.assertEqual(b.akw, 20)
        self.assertEqual(b.b, 21)
        c = C(111, 211, 311)
        self.assertEqual(c.a, 111)
        self.assertEqual(c.akw, 20)
        self.assertEqual(c.b, 211)
        self.assertEqual(c.c, 311)
        # changing A is ok!
        a.a = 11
        self.assertEqual(a.a, 11)
        # changing B is not!
        with self.assertRaises(TypeError):
            b.a = 11
        with self.assertRaises(TypeError):
            del b.a