def test_all_new_methods_are_called(abc):  # pylint: disable=unused-argument
    """Test that super delegation still works using abstract classes.

    Adapted from Python's test suite.
    """
    class AClass(metaclass=abc.NamespaceableABCMeta):
        """A throwaway test class."""

    class BClass(object):
        """A throwaway test class."""
        counter = 0

        def __new__(cls):
            BClass.counter += 1
            return super().__new__(cls)

    class CClass(AClass, BClass):
        """A throwaway test class."""
    assert BClass.counter == 0
    CClass()
    assert BClass.counter == 1