def test_validator_decorator_single(self): """ """ a = attr() @a.validator def v(): pass assert _AndValidator((v, )) == a._validator
def test_validators_lists_to_wrapped_tuples(self): """ If a list is passed as validator, it's just converted to a tuple. """ def v1(_, __): pass def v2(_, __): pass a = attr.ib(validator=[v1, v2]) assert _AndValidator((v1, v2,)) == a._validator
def test_validator_decorator(self, wrap): """ If _CountingAttr.validator is used as a decorator and there is already a decorator set, the decorators are composed using `and_`. """ def v(_, __): pass a = attr.ib(validator=wrap(v)) @a.validator def v2(self, _, __): pass assert _AndValidator((v, v2,)) == a._validator
def test_validator_decorator(self): """ If _CountingAttr.validator is used as a decorator, the decorated method is added to validators. """ def v(_, __): pass a = attr(validator=[v]) @a.validator def v2(self, _, __): pass assert _AndValidator(( v, v2, )) == a._validator