MCPcopy Index your code
hub / github.com/python/cpython / test_registration_transitiveness

Method test_registration_transitiveness

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

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 4

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

Tested by

no test coverage detected