def test_alter_obj_extra(obj): restore = alter(obj, b=2, c=3) assert obj.b == 2 assert obj.c == 3 restore() assert not hasattr(obj, 'b') assert not hasattr(obj, 'c')
def test_alter_dict_extra(dct): restore = alter(dct, b=2, c=3) assert dct == {'a': 1, 'b': 2, 'c': 3} restore() assert dct == {'a': 1}
def test_alter_obj_forget(obj): restore = alter(obj, a=forget) assert not hasattr(obj, 'a') restore() assert obj.a == 1
def test_alter_obj_overwrite(obj): restore = alter(obj, a=2) assert obj.a == 2 restore() assert obj.a == 1