Esempio n. 1
0
    class C:
        @Attr.set_value
        def x(self, attr, value):
            attr.value = value * 5

        y = Attr()

        @y.set_value
        def y(self, attr, value):
            attr.value = value * 2
Esempio n. 2
0
    class C:
        x = Attr()

        @x.init_value
        def x(self, attr, value):
            attr.value = value.upper()

        @Attr.init_value
        def y(self, attr, value):
            attr.value = value.lower()
Esempio n. 3
0
    class C:
        @Attr.get_value
        def x(self, attr):
            return attr.value * 5 if attr.value else attr.value

        y = Attr()

        @y.get_value
        def y(self, attr):
            return attr.value * 2 if attr.value else attr.value
Esempio n. 4
0
    class C:
        @Attr.init_value
        def x(self, attr):
            attr.value = 5

        y = Attr()

        @y.init_value
        def y(self, attr):
            attr.value = 20
Esempio n. 5
0
 class D(C):
     z = Attr()
Esempio n. 6
0
 class C:
     x = Attr(safe=True)
Esempio n. 7
0
 class C:
     x = Attr(safe=True, cli=True)
     y = Attr(cli='y')
Esempio n. 8
0
    class C:
        x = Attr()

        @Attr
        def y(self, attr):
            return attr.value
Esempio n. 9
0
 class C:
     w = Attr()
     x = Attr()
     y = Attr()
Esempio n. 10
0
 class D(C):
     a = Attr()
     x = 5
     b = Attr()
Esempio n. 11
0
def test_cannot_reset_attr_on_attrs(xy_container_cls):
    with pytest.raises(AttributeError):
        xy_container_cls.attrs.x = Attr('x', default=100)
Esempio n. 12
0
 class D(C):
     y = Attr()
Esempio n. 13
0
 class E(D):
     z = Attr()
Esempio n. 14
0
def test_repr():
    x = Attr(name='x')
    assert repr(x) == "<Attr 'x'>"
Esempio n. 15
0
def test_cannot_set_default_value_and_required_together():
    with pytest.raises(ValueError):
        Attr(required=True, default=1)
Esempio n. 16
0
def test_cannot_set_nonexistent_attribute_of_attr():
    x = Attr()

    with pytest.raises(AttributeError):
        x.safe = True
Esempio n. 17
0
 class C:
     x = Attr()
Esempio n. 18
0
    class C:
        attrs_cls = CustomAttrs
        bound_attr_cls = CustomBoundAttr

        x = Attr()
Esempio n. 19
0
 class C:
     x = Attr('x')
     y = Attr('y')
     z = Attr('z', required=True)
Esempio n. 20
0
 class C:
     x = Attr()
     y = 10  # non-attr