def test_get_attr_by_inherit(): attr = Attribute.get_attr(SomeClassSub, UnUsed) assert attr is None attr = Attribute.get_attr(SomeClassSub, UnUsed, inherit=True) assert attr is None attr = Attribute.get_attr(SomeClassSub, Data) assert attr is None attr = Attribute.get_attr(SomeClassSub, Data, inherit=True) assert attr is not None
def test_get_inherited_attr(): class Parent(Attribute): pass class Current(Parent): pass class Sub(Current): pass @Current() class SomeClassScoped: pass attr = Attribute.get_attr(SomeClassScoped, Parent) assert attr is not None attr = Attribute.get_attr(SomeClassScoped, Current) assert attr is not None attr = Attribute.get_attr(SomeClassScoped, Sub) assert attr is None
def test_get_attr(): attr = Attribute.get_attr(SomeClass, UnUsed) assert attr is None attr = Attribute.get_attr(SomeClass, Data) assert attr.args == (1, 2)
def test_attr_target(): attr = Attribute.get_attr(SomeClassSub, Data, inherit=True) assert attr.target is SomeClassSub