def METHOD_NAME(self):
    class A:
        __metaclass__ = abc.ABCMeta
    class B(object):
        pass
    b = B()
    self.assertFalse(issubclass(B, A))
    self.assertFalse(issubclass(B, (A,)))
    self.assertNotIsInstance(b, A)
    self.assertNotIsInstance(b, (A,))
    A.register(B)
    self.assertTrue(issubclass(B, A))
    self.assertTrue(issubclass(B, (A,)))
    self.assertIsInstance(b, A)
    self.assertIsInstance(b, (A,))
    class C(B):
        pass
    c = C()
    self.assertTrue(issubclass(C, A))
    self.assertTrue(issubclass(C, (A,)))
    self.assertIsInstance(c, A)
    self.assertIsInstance(c, (A,))