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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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);
        }