public void ParseFunctions_ParseBody_CallsNextFunctionWhenInputIsNotBodyComment() { // Arrange var text = new StringBuilder() .AppendLine("Lorem ipsum dolor sit amet, consectetur adipiscing") .AppendLine("elit, sed do eiusmod tempor incididunt ut labore et") .AppendLine("dolore magna aliqua. Ut enim ad minim veniam, quis") .ToString(); var buffer = Encoding.ASCII.GetBytes(text); var memStream = new MemoryStream(buffer); var reader = new StreamReader(memStream); var state = new ParseBody_TestState(); var context = new ParseContext(reader, state) { Input = "Anything but # Body" }; var numCallsMadeToNextFunction = 0; Task next() { numCallsMadeToNextFunction++; return(Task.CompletedTask); } // Act ParseFunctions.ParseBody(context, next).Wait(); // Assert Assert.IsNull(state.Body); Assert.AreEqual(1, numCallsMadeToNextFunction); }
public void ParseFunctions_ParseBody_ThrowsOnNullParseContext() { // Arrange ParseContext nullParseContext = null; Task next() => Task.CompletedTask; // Act ParseFunctions.ParseBody(nullParseContext, next).Wait(); }
public void ParseFunctions_ParseBody_ThrowsOnNullNextFunction() { // Arrange var reader = new StreamReader(new MemoryStream()); var state = new object(); var context = new ParseContext(reader, state); Func <Task> nullNextFunction = null; // Act ParseFunctions.ParseBody(context, nullNextFunction).Wait(); }