| 367 | |
| 368 | class TestHasDescriptorsMeta(TestCase): |
| 369 | def test_metaclass(self): |
| 370 | self.assertEqual(type(HasTraits), MetaHasTraits) |
| 371 | |
| 372 | class A(HasTraits): |
| 373 | a = Int() |
| 374 | |
| 375 | a = A() |
| 376 | self.assertEqual(type(a.__class__), MetaHasTraits) |
| 377 | self.assertEqual(a.a, 0) |
| 378 | a.a = 10 |
| 379 | self.assertEqual(a.a, 10) |
| 380 | |
| 381 | class B(HasTraits): |
| 382 | b = Int() |
| 383 | |
| 384 | b = B() |
| 385 | self.assertEqual(b.b, 0) |
| 386 | b.b = 10 |
| 387 | self.assertEqual(b.b, 10) |
| 388 | |
| 389 | class C(HasTraits): |
| 390 | c = Int(30) |
| 391 | |
| 392 | c = C() |
| 393 | self.assertEqual(c.c, 30) |
| 394 | c.c = 10 |
| 395 | self.assertEqual(c.c, 10) |
| 396 | |
| 397 | def test_this_class(self): |
| 398 | class A(HasTraits): |