Example #1
0
        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);
        }
Example #2
0
        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);
        }