public void CanCreateCommandAndInsertParagraphAtEndOfListIListIsEmpty() { var items = new List <DocumentItem> { }; var p = new TestParagraph(); var c = new InsertParagraphCommand(items, p, 0); c.Execute(); Assert.AreEqual(p, items[0].Paragraph); }
public void Execute_InsertParagraphCommand_WithSettedPosition_ShouldInsertParagraph() { var documentItems = new List <DocumentItem>() { new DocumentItem(new TestParagraph()), new DocumentItem(new TestParagraph()) }; var paragraph = new TestParagraph(); var command = new InsertParagraphCommand(documentItems, paragraph, 1); command.Execute(); Assert.AreEqual(paragraph, documentItems[1].Paragraph); }
public void CanCreateCommandAndInsertParagraphAtEndOfListIfPosIsNull() { var items = new List <DocumentItem> { new DocumentItem(new TestParagraph()), }; var p = new TestParagraph(); var c = new InsertParagraphCommand(items, p, null); c.Execute(); Assert.AreEqual(p, items[1].Paragraph); }
private void InsertParagraphCommandExecutor(string commandParams) { var argumentsParser = new ArgumentsParser(commandParams); if (argumentsParser.NextArgumentsCount < 2) { throw new MenuException(); } int? position = GetPosition(argumentsParser.GetNextAsString()); string text = argumentsParser.GetNextsAsString(' '); ICommand command = new InsertParagraphCommand(text, _document, position); command.Execute(); }
public void Unexecute_DeleteItemInvoked() { // Arrange var paragrpahDocumentItem = new DocumentItem(new Paragraph.Paragraph("")); bool isDeleteItemInvoked = false; _documentMock.Setup(d => d.DeleteItem(It.IsAny <int>())).Callback(() => isDeleteItemInvoked = true); ICommand command = new InsertParagraphCommand("", _documentMock.Object, 1); // Act command.Unexecute(); // Assert Assert.True(isDeleteItemInvoked); }
public void Unexecute_InsertParagraphCommand_WithEndPosition_ShouldInsertParagraph() { var previousParagraph = new TestParagraph(); var documentItems = new List <DocumentItem>() { new DocumentItem(previousParagraph) }; var paragraph = new TestParagraph(); var command = new InsertParagraphCommand(documentItems, paragraph, null); command.Execute(); Assert.AreEqual(paragraph, documentItems[1].Paragraph); command.Unexecute(); Assert.AreEqual(previousParagraph, documentItems[0].Paragraph); }
public void CanRemoveInsertedIfCallUnexecuteMethod() { var oldP = new TestParagraph(); var items = new List <DocumentItem> { new DocumentItem(new TestParagraph()), new DocumentItem(oldP), }; var p = new TestParagraph(); var c = new InsertParagraphCommand(items, p, 1); c.Execute(); Assert.AreEqual(p, items[1].Paragraph); c.Unexecute(); Assert.AreEqual(oldP, items[1].Paragraph); }
public void AddAndExecuteCommand_With_ShouldRemoveFirstCommand() { var history = new History(); var items = new List <DocumentItem>(); var paragraph = new Paragraph(history, "text"); var command1 = new InsertParagraphCommand(items, paragraph, 0); var command2 = new InsertParagraphCommand(items, paragraph, 1); var command3 = new InsertParagraphCommand(items, paragraph, 1); var command4 = new InsertParagraphCommand(items, paragraph, 2); history.AddAndExecuteCommand(command1); history.AddAndExecuteCommand(command2); history.AddAndExecuteCommand(command3); history.AddAndExecuteCommand(command4); history.Undo(); history.Undo(); history.Undo(); history.AddAndExecuteCommand(command2); history.AddAndExecuteCommand(command3); }
public void Execute_InsertParagraphInvoked() { // Arrange var paragrpahDocumentItem = new DocumentItem(new Paragraph.Paragraph("")); bool isInsertParagraphInvoked = false; _documentMock .Setup(d => d.InsertParagraph(It.IsAny <string>(), It.IsAny <int>())) .Callback(() => isInsertParagraphInvoked = true); _documentMock.Setup(d => d.GetItem(It.IsAny <int>())).Returns(paragrpahDocumentItem); ICommand command = new InsertParagraphCommand("", _documentMock.Object, 1); // Act command.Execute(); // Assert Assert.True(isInsertParagraphInvoked); }