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 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); }
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); }
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_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 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); }