def METHOD_NAME(self):
    class A:
        __metaclass__ = abc.ABCMeta
    A.register(int)
    self.assertIsInstance(42, A)
    self.assertIsInstance(42, (A,))
    self.assertTrue(issubclass(int, A))
    self.assertTrue(issubclass(int, (A,)))
    class B(A):
        pass
    B.register(basestring)
    self.assertIsInstance("", A)
    self.assertIsInstance("", (A,))
    self.assertTrue(issubclass(str, A))
    self.assertTrue(issubclass(str, (A,)))