Exemple #1
0
def weakener():
    def call(func, *args, **kw):
        return len(args)
    return decorator.weak_signature_decorator(call)
Exemple #2
0
def sig_changer():
    def call(func, a, b):
        return func(b)
    return decorator.decorator(call, (["a", "b"], None, None, None))

@sig_changer()
def new_sig(a):
    return a

def simple(func, *args, **kw):
    return func(*args, **kw) + 1
simple = decorator.decorator(simple)

def simple_weakener(func, *args, **kw):
     return len(args)
simple_weakener = decorator.weak_signature_decorator(simple_weakener)

def simple_weakling():
    pass
simple_weakling = simple_weakener(simple_weakling)

def simple_adder1(a):
    return a
simple_adder1 = simple(simple_adder1)

class TestDecorator(unittest.TestCase):

    def test_preservation(self):
        for key, value in bar.__dict__.iteritems():
            self.failUnless(key in foo.__dict__)
            self.failUnless(value == foo.__dict__[key])