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