'Methods called on the wrapper have the same arguments passed through to
the wrapped method and the result of the wrapped method returned if no
exception is raised.'

def test_passthrough(self):

    class Original(object, ):
        def some_method(self, a, b):
            return (b, a)
    a = object()
    b = object()
    wrapper = decorate_methods(Original(), self.noop_wrapper)
    self.expectThat(wrapper.some_method(a, b=b), Equals((b, a)))
