Beispiel #1
0
def test_object_method_name_handler():
    """Test object"""
    mode = DefaultValue.ObjectMethod_Name
    member = Value()
    member.set_default_value_mode(mode, "custom_default")

    class DefaultMethodTest(Atom):
        v = member

        def custom_default(self, name):
            return 5, name

    assert DefaultMethodTest().v == (5, "v")
Beispiel #2
0
def test_callobject_object_name_handler():
    """Test the CallObject_ObjectName mode."""
    mode = DefaultValue.CallObject_ObjectName
    member = Value()
    member.set_default_value_mode(mode, lambda obj, name: (id(obj), name))

    class A(Atom):

        m = member

    a1 = A()
    a2 = A()
    assert id(a1), "m" == a1.m
    assert id(a2), "m" == a2.m
    assert a1.m != a2.m