'Subclasses of the class returned from L{proxyForInterface} should be
able to upcall methods by reference to their superclass, as any normal
Python class can.'

def test_proxyInheritance(self):

    class YayableWrapper(proxyForInterface(IProxiedInterface), ):
        '\n                                                This    class    does    not    override    any    functionality.\n                                                '
    class EnhancedWrapper(YayableWrapper, ):
        "\n                                                This    class    overrides    the    'yay'    method.\n                                                "
        wrappedYays = 1
        def yay(self, *a, **k):
            self.wrappedYays += 1
            return (YayableWrapper.yay(self, *a, **k) + 7)
    yayable = Yayable()
    wrapper = EnhancedWrapper(yayable)
    self.assertEqual(wrapper.yay(3, 4, x=5, y=6), 8)
    self.assertEqual(yayable.yayArgs, [((3, 4), dict(x=5, y=6))])
