Ejemplo n.º 1
0
    def test_validator_decorator_single(self):
        """
        """
        a = attr()

        @a.validator
        def v():
            pass

        assert _AndValidator((v, )) == a._validator
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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