(self)
| 4975 | self.assertEqual(c.value, 3) |
| 4976 | |
| 4977 | def test_set_and_no_get(self): |
| 4978 | # See |
| 4979 | # http://mail.python.org/pipermail/python-dev/2010-January/095637.html |
| 4980 | class Descr(object): |
| 4981 | |
| 4982 | def __init__(self, name): |
| 4983 | self.name = name |
| 4984 | |
| 4985 | def __set__(self, obj, value): |
| 4986 | obj.__dict__[self.name] = value |
| 4987 | descr = Descr("a") |
| 4988 | |
| 4989 | class X(object): |
| 4990 | a = descr |
| 4991 | |
| 4992 | x = X() |
| 4993 | self.assertIs(x.a, descr) |
| 4994 | x.a = 42 |
| 4995 | self.assertEqual(x.a, 42) |
| 4996 | |
| 4997 | # Also check type_getattro for correctness. |
| 4998 | class Meta(type): |
| 4999 | pass |
| 5000 | class X(metaclass=Meta): |
| 5001 | pass |
| 5002 | X.a = 42 |
| 5003 | Meta.a = Descr("a") |
| 5004 | self.assertEqual(X.a, 42) |
| 5005 | |
| 5006 | def test_getattr_hooks(self): |
| 5007 | # issue 4230 |
nothing calls this directly
no test coverage detected