public void CanUndoDeleteItemCommand() { var items = new List <DocumentItem> { new DocumentItem(new TestParagraph()), }; Assert.AreEqual(items.Count, 1); DeleteItemCommand c = new DeleteItemCommand(0, items); c.Execute(); Assert.AreEqual(items.Count, 0); c.Unexecute(); Assert.AreEqual(items.Count, 1); }
public void Unexecute_DeleteItemCommand_WithPosition_ShouldRemoveItemFromItemsList() { var documentItems = new List <DocumentItem> { new DocumentItem(new TestParagraph()), new DocumentItem(new TestParagraph()) }; var command = new DeleteItemCommand(documentItems, 1); command.Execute(); Assert.AreEqual(1, documentItems.Count); command.Unexecute(); Assert.AreEqual(2, documentItems.Count); }
public void Unexecute_InsertItemInvoked() { // Arrange var imageDocumentItem = new DocumentItem(new ImageClass("", "", 1, 1)); bool isInsertItemInvoked = false; _documentMock .Setup(d => d.InsertImage(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())) .Callback(() => isInsertItemInvoked = true); _documentMock.Setup(d => d.GetItem(It.IsAny <int>())).Returns(imageDocumentItem); ICommand command = new DeleteItemCommand(1, _documentMock.Object); command.Execute(); // Act command.Unexecute(); // Assert Assert.True(isInsertItemInvoked); }