def test_make_class_ordered(self): """ If `make_class()` is passed ordered attrs, their order is respected instead of the counter. """ b = attr.ib(default=2) a = attr.ib(default=1) C = attr.make_class("C", ordered_dict([("a", a), ("b", b)])) assert "C(a=1, b=2)" == repr(C())
def test_these_ordered(self): """ If these is passed ordered attrs, their order respect instead of the counter. """ b = attr.ib(default=2) a = attr.ib(default=1) @attr.s(these=ordered_dict([("a", a), ("b", b)])) class C(object): pass assert "C(a=1, b=2)" == repr(C())
def test_convert_factory_property(self, val, init): """ Property tests for attributes with convert, and a factory default. """ C = make_class("C", ordered_dict([ ("y", attr.ib()), ("x", attr.ib( init=init, default=Factory(lambda: val), converter=lambda v: v + 1 )), ])) c = C(2) assert c.x == val + 1 assert c.y == 2