(self)
| 408 | class ClassPropertiesAndMethods(unittest.TestCase): |
| 409 | |
| 410 | def test_python_dicts(self): |
| 411 | # Testing Python subclass of dict... |
| 412 | self.assertIsSubclass(dict, dict) |
| 413 | self.assertIsInstance({}, dict) |
| 414 | d = dict() |
| 415 | self.assertEqual(d, {}) |
| 416 | self.assertIs(d.__class__, dict) |
| 417 | self.assertIsInstance(d, dict) |
| 418 | class C(dict): |
| 419 | state = -1 |
| 420 | def __init__(self_local, *a, **kw): |
| 421 | if a: |
| 422 | self.assertEqual(len(a), 1) |
| 423 | self_local.state = a[0] |
| 424 | if kw: |
| 425 | for k, v in list(kw.items()): |
| 426 | self_local[v] = k |
| 427 | def __getitem__(self, key): |
| 428 | return self.get(key, 0) |
| 429 | def __setitem__(self_local, key, value): |
| 430 | self.assertIsInstance(key, int) |
| 431 | dict.__setitem__(self_local, key, value) |
| 432 | def setstate(self, state): |
| 433 | self.state = state |
| 434 | def getstate(self): |
| 435 | return self.state |
| 436 | self.assertIsSubclass(C, dict) |
| 437 | a1 = C(12) |
| 438 | self.assertEqual(a1.state, 12) |
| 439 | a2 = C(foo=1, bar=2) |
| 440 | self.assertEqual(a2[1] == 'foo' and a2[2], 'bar') |
| 441 | a = C() |
| 442 | self.assertEqual(a.state, -1) |
| 443 | self.assertEqual(a.getstate(), -1) |
| 444 | a.setstate(0) |
| 445 | self.assertEqual(a.state, 0) |
| 446 | self.assertEqual(a.getstate(), 0) |
| 447 | a.setstate(10) |
| 448 | self.assertEqual(a.state, 10) |
| 449 | self.assertEqual(a.getstate(), 10) |
| 450 | self.assertEqual(a[42], 0) |
| 451 | a[42] = 24 |
| 452 | self.assertEqual(a[42], 24) |
| 453 | N = 50 |
| 454 | for i in range(N): |
| 455 | a[i] = C() |
| 456 | for j in range(N): |
| 457 | a[i][j] = i*j |
| 458 | for i in range(N): |
| 459 | for j in range(N): |
| 460 | self.assertEqual(a[i][j], i*j) |
| 461 | |
| 462 | def test_python_lists(self): |
| 463 | # Testing Python subclass of list... |
nothing calls this directly
no test coverage detected