public void Undo_ReplacesProxyTableBlockWithAParagraphBlock() { // Arrange const string dummyText = "dummyText"; var dummyProxyTableBlock = new ProxyTableBlock(null); dummyProxyTableBlock.Lines = new StringLineGroup(dummyText); BlockParser dummyBlockParser = _mockRepository.Create <BlockParser>().Object; ContainerBlock dummyParent = _mockRepository.Create <ContainerBlock>(dummyBlockParser).Object; // Must specify block parser since we're calling ProcessLine later dummyParent.Add(dummyProxyTableBlock); // Assigns dummyParent to dummyProxyTableBlock.Parent BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); dummyBlockProcessor.Open(dummyParent); dummyBlockProcessor.Open(dummyProxyTableBlock); ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser(); // Act testSubject.ExposedUndo(dummyBlockProcessor, dummyProxyTableBlock); // Assert Assert.Single(dummyParent); var resultParagraphBlock = dummyParent[0] as ParagraphBlock; Assert.NotNull(resultParagraphBlock); Assert.Equal(dummyText, resultParagraphBlock.Lines.ToString()); // Verify that ParagraphBlock remains open dummyBlockProcessor.ProcessLine(new StringSlice(dummyText)); Assert.Equal($"{dummyText}\n{dummyText}", resultParagraphBlock.Lines.ToString()); }
public void Undo_ThrowsArgumentNullExceptionIfProxyTableBlockIsNull() { // Arrange BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser(); // Act and assert Assert.Throws <ArgumentNullException>(() => testSubject.ExposedUndo(dummyBlockProcessor, null)); }
public void Undo_ThrowsArgumentNullExceptionIfBlockProcessorIsNull() { // Arrange var dummyProxyTableBlock = new ProxyTableBlock(null); ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser(); // Act and assert Assert.Throws <ArgumentNullException>(() => testSubject.ExposedUndo(null, dummyProxyTableBlock)); }
public void ExtractContent_ThrowsArgumentNullExceptionIfTargetRowIsNull() { // Arrange var dummyLine = new StringSlice(""); ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser(); // Act and assert Assert.Throws <ArgumentNullException>(() => testSubject.ExposedExtractContent(dummyLine, null)); }
public void TryParseColumnDefinitionsLine_TriesToParseColumnDefinitionsLine(string dummyText, char dummyColumnDefinitionStartChar, int dummyNumColumns, List <ColumnDefinition> expectedColumnDefinitions) { // Arrange ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser(); // Act List <ColumnDefinition> result = testSubject.ExposedTryParseColumnDefinitionsLine(new StringSlice(dummyText), dummyColumnDefinitionStartChar, dummyNumColumns); // Assert Assert.Equal(expectedColumnDefinitions, result); }
public void ExtractContent_ExtractsContent(string dummyText, Row dummyTargetRow, string[] expectedCellContent) { // Arrange var dummyLine = new StringSlice(dummyText); ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser(); // Act testSubject.ExposedExtractContent(dummyLine, dummyTargetRow); // Assert int cellIndex = 0; for (int columnIndex = 0; columnIndex < dummyTargetRow.Count;) { Cell cell = dummyTargetRow[columnIndex]; Assert.Equal(expectedCellContent[cellIndex++], cell.Lines.ToString()); columnIndex = cell.EndColumnIndex + 1; } }