public void TryOpenBlock_ReturnsBlockStateNoneIfLineDoesNotBeginWithExpectedCharacters(string line) { // Arrange BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); dummyBlockProcessor.Line = new StringSlice(line); ExposedJsonBlockParser testSubject = CreateExposedJsonBlockParser(); // Act BlockState result = testSubject.ExposedTryOpenBlock(dummyBlockProcessor); // Assert Assert.Equal(BlockState.None, result); }
public void CloseProxy_ThrowsJsonExceptionIfJsonIsIncomplete() { // Arrange const string dummyLines = "dummyLines"; var dummyProxyJsonBlock = new ProxyJsonBlock(null, null); dummyProxyJsonBlock.Lines = new StringLineGroup(dummyLines); dummyProxyJsonBlock.NumOpenObjects = 1; BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); ExposedJsonBlockParser testSubject = CreateExposedJsonBlockParser(); // Act and assert JsonException result = Assert.Throws <JsonException>(() => testSubject.ExposedCloseProxy(dummyBlockProcessor, dummyProxyJsonBlock)); Assert.Equal(string.Format(Strings.JsonException_Shared_InvalidJson, dummyLines), result.Message); }
public void TryOpenBlock_ReturnsBlockStateNoneIfInCodeIndent() { // Arrange BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); // These three lines set IsCodeIndent to true dummyBlockProcessor.Column = 0; dummyBlockProcessor.RestartIndent(); dummyBlockProcessor.Column = 4; ExposedJsonBlockParser testSubject = CreateExposedJsonBlockParser(); // Act BlockState result = testSubject.ExposedTryOpenBlock(dummyBlockProcessor); // Assert Assert.True(dummyBlockProcessor.IsCodeIndent); Assert.Equal(BlockState.None, result); }
public void CloseProxy_ReturnsJsonBlockIfSuccessful() { // Arrange BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor(); var dummyProxyJsonBlock = new ProxyJsonBlock(null, null); dummyProxyJsonBlock.NumOpenObjects = 0; Mock <Block> dummyBlock = _mockRepository.Create <Block>(null); Mock <IJsonBlockFactory <Block, ProxyJsonBlock> > mockJsonBlockFactory = _mockRepository.Create <IJsonBlockFactory <Block, ProxyJsonBlock> >(); mockJsonBlockFactory.Setup(j => j.Create(dummyProxyJsonBlock, dummyBlockProcessor)).Returns(dummyBlock.Object); ExposedJsonBlockParser testSubject = CreateExposedJsonBlockParser(mockJsonBlockFactory.Object); // Act Block result = testSubject.ExposedCloseProxy(dummyBlockProcessor, dummyProxyJsonBlock); // Assert _mockRepository.VerifyAll(); Assert.Same(dummyBlock.Object, result); }
public void ParseLine_ParsesTheLineUpdatesBlockSpanEndAndReturnsBlockState(string dummyJson) { // Arrange ExposedJsonBlockParser testSubject = CreateExposedJsonBlockParser(); var dummyProxyJsonBlock = new ProxyJsonBlock(null, null); var lineReader = new LineReader(dummyJson); // Act and assert while (true) { BlockState result = testSubject.ParseLine(lineReader.ReadLine().Value, dummyProxyJsonBlock); if (result == BlockState.Break) { Assert.Null(lineReader.ReadLine()); // If result is break we must be at the last line break; } else { Assert.Equal(BlockState.Continue, result); } } Assert.Equal(dummyJson.Length - 1, dummyProxyJsonBlock.Span.End); }