MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_registration_transitiveness

Method test_registration_transitiveness

Lib/test/test_abc.py:376–413  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

374 A.register, 4)
375
376 def test_registration_transitiveness(self):
377 class A(metaclass=abc_ABCMeta):
378 pass
379 self.assertIsSubclass(A, A)
380 self.assertIsSubclass(A, (A,))
381 class B(metaclass=abc_ABCMeta):
382 pass
383 self.assertNotIsSubclass(A, B)
384 self.assertNotIsSubclass(A, (B,))
385 self.assertNotIsSubclass(B, A)
386 self.assertNotIsSubclass(B, (A,))
387 class C(metaclass=abc_ABCMeta):
388 pass
389 A.register(B)
390 class B1(B):
391 pass
392 self.assertIsSubclass(B1, A)
393 self.assertIsSubclass(B1, (A,))
394 class C1(C):
395 pass
396 B1.register(C1)
397 self.assertNotIsSubclass(C, B)
398 self.assertNotIsSubclass(C, (B,))
399 self.assertNotIsSubclass(C, B1)
400 self.assertNotIsSubclass(C, (B1,))
401 self.assertIsSubclass(C1, A)
402 self.assertIsSubclass(C1, (A,))
403 self.assertIsSubclass(C1, B)
404 self.assertIsSubclass(C1, (B,))
405 self.assertIsSubclass(C1, B1)
406 self.assertIsSubclass(C1, (B1,))
407 C1.register(int)
408 class MyInt(int):
409 pass
410 self.assertIsSubclass(MyInt, A)
411 self.assertIsSubclass(MyInt, (A,))
412 self.assertIsInstance(42, A)
413 self.assertIsInstance(42, (A,))
414
415 def test_issubclass_bad_arguments(self):
416 class A(metaclass=abc_ABCMeta):

Callers

nothing calls this directly

Calls 4

assertIsInstanceMethod · 0.80
assertIsSubclassMethod · 0.45
assertNotIsSubclassMethod · 0.45
registerMethod · 0.45

Tested by

no test coverage detected