public void CancelsSubscriptionForInstance() { var obj = new MockModel {Value = "value1"}; var service = new MementoService(); service.RegisterObject(obj); service.UnregisterObject(obj); obj.Value = "newvalue"; Assert.IsFalse(service.CanUndo); }
public void ClearsCurrentUndoRedoStackForInstance() { var obj = new MockModel {Value = "value1"}; var service = new MementoService(); service.RegisterObject(obj); obj.Value = "newvalue1"; Assert.IsFalse(service.CanRedo); service.UnregisterObject(obj); Assert.IsFalse(service.CanUndo); }
public void HandlesDoubleUndo() { var obj = new MockModel {Value = "value1"}; var service = new MementoService(); service.RegisterObject(obj); obj.Value = "value2"; obj.Value = "value3"; service.Undo(); Assert.AreEqual("value2", obj.Value); service.Undo(); Assert.AreEqual("value1", obj.Value); }