public void TryOpenBlock_ReturnsBlockStateNoneIfLineHasCodeIndent() { // Arrange BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); dummyBlockProcessor.Column = 4; // Code indent dummyBlockProcessor.Line = new StringSlice(""); // To avoid null reference exception ExposedFencedBlockParser testSubject = CreateExposedFencedBlockParser(); // Act BlockState result = testSubject.ExposedTryOpenBlock(dummyBlockProcessor); // Assert Assert.Equal(BlockState.None, result); }
public void LineContainsClosingFence_ReturnsTrueIfLineContainsAClosingFenceAndFalseOtherwise(bool dummyMatchingFencesRequired, string dummyLineText, char dummyFenceChar, int dummyOpeningFenceCharCount, bool expectedResult) { // Arrange var dummyLine = new StringSlice(dummyLineText); ExposedFencedBlockParser testSubject = CreateExposedFencedBlockParser(fenceChar: dummyFenceChar, matchingFencesRequired: dummyMatchingFencesRequired); // Act bool result = testSubject.LineContainsClosingFence(dummyLine, dummyOpeningFenceCharCount); // Assert Assert.Equal(expectedResult, result); }
public void LineContainsOpeningFence_ReturnsTrueIfLineContainsAnOpeningFenceAndFalseOtherwise(FenceTrailingCharacters dummyFenceTrailingCharacters, string dummyLineText, char dummyFenceChar, bool expectedContains, int expectedFenceCharCount) { // Arrange var dummyLine = new StringSlice(dummyLineText); ExposedFencedBlockParser testSubject = CreateExposedFencedBlockParser(fenceChar: dummyFenceChar, fenceTrailingCharacters: dummyFenceTrailingCharacters); // Act bool resultContains = testSubject.LineContainsOpeningFence(dummyLine, out int resultFenceCharCount); // Assert Assert.Equal(expectedContains, resultContains); Assert.Equal(expectedFenceCharCount, resultFenceCharCount); }
public void CloseProxy_CreatesFencedBlock() { // Arrange Mock <DummyProxyFencedBlock> dummyProxyFencedBlock = _mockRepository.Create <DummyProxyFencedBlock>(null); BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); Mock <Block> dummyBlock = _mockRepository.Create <Block>(null); Mock <IFencedBlockFactory <Block, DummyProxyFencedBlock> > mockFencedBlockFactory = _mockRepository.Create <IFencedBlockFactory <Block, DummyProxyFencedBlock> >(); mockFencedBlockFactory.Setup(f => f.Create(dummyProxyFencedBlock.Object, dummyBlockProcessor)).Returns(dummyBlock.Object); ExposedFencedBlockParser testSubject = CreateExposedFencedBlockParser(mockFencedBlockFactory.Object); // Act Block result = testSubject.ExposedCloseProxy(dummyBlockProcessor, dummyProxyFencedBlock.Object); // Assert _mockRepository.VerifyAll(); Assert.Same(dummyBlock.Object, result); }
public void UpdateLineStart_UpdatesLineStart(string dummyLineText, int dummyOpeningFenceIndent, int dummyLineIndent, int expectedResult) { // Arrange var dummyLine = new StringSlice(dummyLineText); BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); dummyBlockProcessor.Line = dummyLine; dummyBlockProcessor.Column = dummyLineIndent; Mock <DummyProxyFencedBlock> mockProxyFencedBlock = _mockRepository.Create <DummyProxyFencedBlock>(null); mockProxyFencedBlock.Setup(p => p.OpeningFenceIndent).Returns(dummyOpeningFenceIndent); ExposedFencedBlockParser testSubject = CreateExposedFencedBlockParser(); // Act testSubject.UpdateLineStart(dummyBlockProcessor, mockProxyFencedBlock.Object); // Assert _mockRepository.VerifyAll(); Assert.Equal(expectedResult, dummyBlockProcessor.Indent); }