コード例 #1
0
        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);
        }
コード例 #2
0
        public void ParseFunctions_ParseBody_ThrowsOnNullParseContext()
        {
            // Arrange
            ParseContext nullParseContext = null;

            Task next() => Task.CompletedTask;

            // Act
            ParseFunctions.ParseBody(nullParseContext, next).Wait();
        }
コード例 #3
0
        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();
        }