def test_signature_preservation(): '''Test that a function's signature is preserved after decorating.''' f = cache()(counting_func) assert f() == f() == f(1, 2) == f(a=1, b=2) cute_testing.assert_same_signature(f, counting_func) def my_func(qq, zz=1, yy=2, *args): pass my_func_cached = cache(max_size=7)(my_func) cute_testing.assert_same_signature(my_func, my_func_cached) def my_other_func(**kwargs): pass my_func_cached = cache()(my_func) cute_testing.assert_same_signature(my_func, my_func_cached)
def test(): '''Test the basic workings of `assert_same_signature`.''' def f(a, b=1, **kwargs): pass def g(a, b=1, **kwargs): pass def h(z): pass assert_same_signature(f, g) with RaiseAssertor(Failure): assert_same_signature(f, h) with RaiseAssertor(Failure): assert_same_signature(g, h) new_f = decorator_module.decorator( lambda *args, **kwargs: None, f ) assert_same_signature(f, g, new_f) with RaiseAssertor(Failure): assert_same_signature(new_f, h) new_h = decorator_module.decorator( lambda *args, **kwargs: None, h ) assert_same_signature(h, new_h) with RaiseAssertor(Failure): assert_same_signature(new_h, new_f) with RaiseAssertor(Failure): assert_same_signature(new_h, new_f, g) with RaiseAssertor(Failure): assert_same_signature(new_h, f) assert_same_signature(new_h, h, new_h, new_h)
def test(): '''Test the basic workings of `assert_same_signature`.''' def f(a, b=1, **kwargs): pass def g(a, b=1, **kwargs): pass def h(z): pass assert_same_signature(f, g) with RaiseAssertor(Failure): assert_same_signature(f, h) with RaiseAssertor(Failure): assert_same_signature(g, h) new_f = decorator_module.decorator(lambda *args, **kwargs: None, f) assert_same_signature(f, g, new_f) with RaiseAssertor(Failure): assert_same_signature(new_f, h) new_h = decorator_module.decorator(lambda *args, **kwargs: None, h) assert_same_signature(h, new_h) with RaiseAssertor(Failure): assert_same_signature(new_h, new_f) with RaiseAssertor(Failure): assert_same_signature(new_h, new_f, g) with RaiseAssertor(Failure): assert_same_signature(new_h, f) assert_same_signature(new_h, h, new_h, new_h)