# Python unit testing of decorators
import unittest

def collect(collector):
    def wrapper(func):
        def inner(*args,**kwargs):
            ret = func(*args,**kwargs)
            collector.append((func.__name__,args,kwargs,ret))
            return ret
        return inner
    return wrapper

collector = []

def add(x,y):
    return x + y

def mult(x,y):
    return x * y

class TestCollector(unittest.TestCase):
    def testCollection(self):
        collector = []
        collect(collector)(add)(3,5)
        collect(collector)(mult)(4,6)
        self.assertEquals(collector,[('add', (3, 5), {}, 8), ('mult', (4, 6), {}, 24)])

Add a code snippet to your website: www.paste.org