public void ShouldMarkCommandAsExecutedWhenExecuting() { var command = new TestableUndoableCommand(); Assert.IsFalse(command.WasExecuted); command.Execute(); Assert.IsTrue(command.WasExecuted); }
public void ShouldNotCallUnExecuteCommandIfCommandWasNotExecuted() { var command = new TestableUndoableCommand(); Assert.IsFalse(command.UnExecuteCommandCalled); command.UnExecute(); Assert.IsFalse(command.ExecuteCommandCalled); }
public void ShouldCallExecuteCommandWhenExecuting() { var command = new TestableUndoableCommand(); Assert.IsFalse(command.ExecuteCommandCalled); command.Execute(); Assert.IsTrue(command.ExecuteCommandCalled); }
public void ShouldExecuteCommand() { ICaretaker caretaker = new Caretaker(this.eventAggregator); var command = new TestableUndoableCommand(); Assert.IsFalse(command.ExecuteCommandCalled); caretaker.ExecuteCommand(command); Assert.IsTrue(command.ExecuteCommandCalled); }
public void ShouldNotExecuteCommandIfWasAlreadyExecuted() { ICaretaker caretaker = new Caretaker(this.eventAggregator); var command = new TestableUndoableCommand(); command.Execute(); command.ExecuteCommandCalled = false; caretaker.ExecuteCommand(command); Assert.IsFalse(command.ExecuteCommandCalled); }
public void ShouldUndoCommand() { ICaretaker caretaker = new Caretaker(); var command = new TestableUndoableCommand(); caretaker.ExecuteCommand(command); Assert.IsFalse(command.UnExecuteCommandCalled); caretaker.Undo(); Assert.IsTrue(command.UnExecuteCommandCalled); }
public void ShouldNotRedoCommandIfWasNotUndo() { ICaretaker caretaker = new Caretaker(); var command = new TestableUndoableCommand(); caretaker.ExecuteCommand(command); command.ExecuteCommandCalled = false; caretaker.Redo(); Assert.IsFalse(command.ExecuteCommandCalled); }
public void ShouldNotRedoIfNewCommandWasAdded() { ICaretaker caretaker = new Caretaker(this.eventAggregator); var command = new TestableUndoableCommand(); var anotherCommand = new TestableUndoableCommand(); caretaker.ExecuteCommand(command); caretaker.Undo(); caretaker.ExecuteCommand(anotherCommand); command.ExecuteCommandCalled = false; caretaker.Redo(); Assert.IsFalse(command.ExecuteCommandCalled); }
public void ShouldTrimUndoStackIfUndoLevelLimitIsReached() { ICaretaker caretaker = new Caretaker(this.eventAggregator); caretaker.SetUndoLevel(1); var command = new TestableUndoableCommand(); var anotherCommand = new TestableUndoableCommand(); caretaker.ExecuteCommand(command); caretaker.ExecuteCommand(anotherCommand); caretaker.Undo(); Assert.IsTrue(anotherCommand.UnExecuteCommandCalled); caretaker.Undo(); Assert.IsFalse(command.UnExecuteCommandCalled); }
public void ShouldUndoARedoOperation() { ICaretaker caretaker = new Caretaker(this.eventAggregator); var command = new TestableUndoableCommand(); caretaker.ExecuteCommand(command); caretaker.Undo(); caretaker.Redo(); Assert.IsTrue(command.UnExecuteCommandCalled); command.UnExecuteCommandCalled = false; Assert.IsFalse(command.UnExecuteCommandCalled); caretaker.Undo(); Assert.IsTrue(command.UnExecuteCommandCalled); }