public void MaximumSupportedOperationsTest() { var mementoService = new MementoService(5); var listUndoOps = new List <MockUndo>(); for (var i = 0; i < 10; i++) { var memento = new MockUndo() { Value = i }; mementoService.Add(memento); listUndoOps.Add(memento); } var count = 0; while (mementoService.CanUndo) { mementoService.Undo(); count++; } for (var i = 0; i < 5; i++) { Assert.IsFalse(listUndoOps[i].UndoCalled); } for (var i = 5; i < 10; i++) { Assert.IsTrue(listUndoOps[i].UndoCalled); } Assert.AreEqual(count, mementoService.MaximumSupportedBatches); }
public void MaximumSupportedOperationsTest() { var mementoService = new MementoService(5); var listUndoOps = new List<MockUndo>(); for (var i = 0; i < 10; i++) { var memento = new MockUndo() {Value = i}; mementoService.Add(memento); listUndoOps.Add(memento); } var count = 0; while (mementoService.CanUndo) { mementoService.Undo(); count++; } for (var i = 0; i < 5; i++) { Assert.IsFalse(listUndoOps[i].UndoCalled); } for (var i = 5; i < 10; i++) { Assert.IsTrue(listUndoOps[i].UndoCalled); } Assert.AreEqual(count, mementoService.MaximumSupportedBatches); }
public void CanRedoNak() { var mock1 = new MockUndo(true); var mock2 = new MockUndo(); var operationSet = new OperationSet(this); operationSet.Add(mock1); operationSet.Add(mock2); Assert.IsFalse(operationSet.CanRedo); }
public void CanRedoTest_NAK() { MockUndo m1 = new MockUndo(true); MockUndo m2 = new MockUndo(false); UndoOperationSet target = new UndoOperationSet(); target.Add(m1); target.Add(m2); Assert.IsFalse(target.CanRedo); }
public void PreventsAdditionsWhenDisabled() { var mementoService = new MementoService(); mementoService.IsEnabled = false; var undo1 = new MockUndo(true); mementoService.Add(undo1); Assert.IsFalse(mementoService.CanRedo); }
public void CanRedoNak() { var mock1 = new MockUndo(true); var mock2 = new MockUndo(); var operationSet = new OperationSet(this); operationSet.Add(mock1); operationSet.Add(mock2); Assert.IsFalse(operationSet.CanRedo); }
public void RedoTest() { var mock1 = new MockUndo(true); var mock2 = new MockUndo(true); var operationSet = new OperationSet(this); operationSet.Add(mock1); operationSet.Add(mock2); operationSet.Redo(); Assert.IsTrue(mock1.RedoCalled); Assert.IsTrue(mock2.RedoCalled); }
public void RedoTest() { var mock1 = new MockUndo(true); var mock2 = new MockUndo(true); var operationSet = new OperationSet(this); operationSet.Add(mock1); operationSet.Add(mock2); operationSet.Redo(); Assert.IsTrue(mock1.RedoCalled); Assert.IsTrue(mock2.RedoCalled); }
public void RedoTest() { UndoManager undoManager = new UndoManager(); MockUndo undo1 = new MockUndo(true); undoManager.Add(undo1); undoManager.Undo(); Assert.IsTrue(undo1.undoCalled); Assert.IsFalse(undo1.redoCalled); Assert.IsTrue(undoManager.CanRedo); undoManager.Redo(); Assert.IsTrue(undo1.redoCalled); Assert.IsFalse(undoManager.CanRedo); }
public void UndoTest() { var mementoService = new MementoService(); var undo1 = new MockUndo(); var undo2 = new MockUndo(); mementoService.Add(undo1); mementoService.Add(undo2); mementoService.Undo(); Assert.IsTrue(undo2.UndoCalled); Assert.IsFalse(undo1.UndoCalled); Assert.IsTrue(mementoService.CanUndo); }
public void RedoTest() { MockUndo m1 = new MockUndo(true); MockUndo m2 = new MockUndo(true); UndoOperationSet target = new UndoOperationSet(); target.Add(m1); target.Add(m2); target.Redo(); Assert.IsTrue(m1.redoCalled); Assert.IsTrue(m2.redoCalled); }
public void UndoTest() { UndoManager undoManager = new UndoManager(); MockUndo undo1 = new MockUndo(); MockUndo undo2 = new MockUndo(); undoManager.Add(undo1); undoManager.Add(undo2); undoManager.Undo(); Assert.IsTrue(undo2.undoCalled); Assert.IsFalse(undo1.undoCalled); Assert.IsTrue(undoManager.CanUndo); }
public void UndoOrderTest() { var finalValue = 0; var mock1 = new MockUndo(true); var operationSet = new OperationSet(this); operationSet.Add(mock1); operationSet.Add(new ActionUndo(this, () => finalValue = 1)); operationSet.Add(new ActionUndo(this, () => finalValue = 2)); operationSet.Undo(); Assert.IsTrue(mock1.UndoCalled); Assert.AreEqual(1, finalValue); }
public void UndoOrderTest() { var finalValue = 0; var mock1 = new MockUndo(true); var operationSet = new OperationSet(this); operationSet.Add(mock1); operationSet.Add(new ActionUndo(this, () => finalValue = 1)); operationSet.Add(new ActionUndo(this, () => finalValue = 2)); operationSet.Undo(); Assert.IsTrue(mock1.UndoCalled); Assert.AreEqual(1, finalValue); }
public void UndoOrderTest() { int finalValue = 0; MockUndo m1 = new MockUndo(true); UndoOperationSet target = new UndoOperationSet(); target.Add(m1); target.Add(new DelegateUndo(() => finalValue = 1)); target.Add(new DelegateUndo(() => finalValue = 2)); target.Undo(); Assert.IsTrue(m1.undoCalled); Assert.AreEqual(1, finalValue); }
public void RaisesChangeRecordedEvent() { var mementoService = new MementoService(); var success = false; mementoService.Updated += (sender, e) => { if (e.MementoAction == MementoAction.ChangeRecorded) { success = true; } }; var undo1 = new MockUndo(); mementoService.Add(undo1); Assert.IsTrue(success); }
public void MaxSupportedOperationsTest() { UndoManager target = new UndoManager { MaxSupportedOperations = 5 }; List <MockUndo> listUndoOps = new List <MockUndo>(); for (int i = 0; i < 10; i++) { MockUndo undoObj = new MockUndo() { Value = i }; target.Add(undoObj); listUndoOps.Add(undoObj); } int count = 0; while (target.CanUndo) { target.Undo(); count++; } // Should have called final 5.. skipped first 5. for (int i = 0; i < 5; i++) { Assert.IsFalse(listUndoOps[i].undoCalled); } for (int i = 5; i < 10; i++) { Assert.IsTrue(listUndoOps[i].undoCalled); } Assert.AreEqual(count, target.MaxSupportedOperations); }
public void PreventsAdditionsWhenDisabled() { var mementoService = new MementoService(); mementoService.IsEnabled = false; var undo1 = new MockUndo(true); mementoService.Add(undo1); Assert.IsFalse(mementoService.CanRedo); }
public void UndoTest() { var mementoService = new MementoService(); var undo1 = new MockUndo(); var undo2 = new MockUndo(); mementoService.Add(undo1); mementoService.Add(undo2); mementoService.Undo(); Assert.IsTrue(undo2.UndoCalled); Assert.IsFalse(undo1.UndoCalled); Assert.IsTrue(mementoService.CanUndo); }