def test_registration(self): register = MethodsRegister() func = lambda x: x register.register(func) register.register(name="test-x")(func) register.register(func, name="test-y") assert register.lookup("<lambda>") == func assert register.lookup("test-x") == func assert register.lookup("test-y") == func
def get_methods(self): methods = MethodsRegister() def method1(request): """Returns the string "Hello, world!".""" return u"Hello, world!" def method2(request, name): """Docstring of method2()""" return u"Hello, {0}!".format(name) def method3(request, greeting=u'Hello', name=u'world'): """Docstring of method3()""" if not isinstance(greeting, basestring): raise ValueError("Greeting must be a string") if not isinstance(name, basestring): raise ValueError("Name must be a string") return u"{0}, {1}!".format(greeting, name) methods.register(method1) methods.register(method2) methods.register(method3) return methods
def test_no_callable(self): register = MethodsRegister() with pytest.raises(ValueError): register.register("not_callable") register.register("not_callable", "test")