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")
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