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)
Example #2
0
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)                         
                            
Example #4
0
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)