public void NewCommandShouldClearRedos() { var command = Substitute.For <ICommand>(); var reverseCommand = Substitute.For <ICommand>(); var reverseReverseCommand = Substitute.For <ICommand>(); command.GetReverseCommand().Returns(reverseCommand); reverseCommand.GetReverseCommand().Returns(reverseReverseCommand); var outline = new Outline(); var co = new CommandOutline(outline); co.RunCommand(command); co.Undo(); co.RunCommand(Substitute.For <ICommand>()); co.Redo(); reverseReverseCommand.Received(0).Do(outline); }
public void ShouldExecuteTheCommand() { var command = Substitute.For <ICommand>(); var outline = new Outline(); var co = new CommandOutline(outline); co.RunCommand(command); command.Received(1).Do(outline); }
public void UndoShouldExecuteTheReverseCommand() { var command = Substitute.For <ICommand>(); var reverseCommand = Substitute.For <ICommand>(); command.GetReverseCommand().Returns(reverseCommand); var outline = new Outline(); var co = new CommandOutline(outline); co.RunCommand(command); co.Undo(); reverseCommand.Received(1).Do(outline); }
public void AddColumnCommandShouldAddColumnToOutline() { var outline = new Outline(); var co = new CommandOutline(outline); var col = new TestColumn("column"); var columnCount = outline.RootRow.RowValues.Count; using (var scope = outline.Monitor()) { co.RunCommand(new AddColumnCommand(col)); scope.Should().Raise(nameof(Outline.ColumnAdded)) .WithSender(outline) .WithArgs <ColumnAddedEventArgs>(args => args.Column == col); } outline.RootRow.RowValues.Count.Should().Be(columnCount + 1); }