Example #1
0
        public void AdvancePastEnd()
        {
            TextSource    source = new TextSource("test");
            TextNavigator nav    = new TextNavigator(source.CurrentSnapshot);

            nav.Advance();
            nav.Advance();
            nav.Advance();
            nav.Advance();

            Assert.AreEqual(TextNavigator.EndCharacter, nav.PeekChar());
        }
Example #2
0
        public void PeekAheadToNextLine()
        {
            string lines = "one\r\ntwo\r\nthree\r\n";

            MultiLineTextSource source = MultiLineTextSource.FromString(lines);

            TextNavigator nav = new TextNavigator(source.CurrentSnapshot);

            int index = 0;

            while (nav.PeekChar() != TextNavigator.EndCharacter)
            {
                Assert.AreEqual(lines[index++], nav.PeekChar());
                nav.Advance();
            }
        }
Example #3
0
        public void ShortSpan()
        {
            string lines = "one\r\ntwo\r\nthree\r\n";

            MultiLineTextSource source = MultiLineTextSource.FromString(lines);

            TextNavigator nav = new TextNavigator(source.CurrentSnapshot, Span.Create(5, 12));

            for (int i = 5; i <= 12; i++)
            {
                Assert.AreEqual(lines[i], nav.PeekChar());

                nav.Advance();
            }

            Assert.AreEqual(TextNavigator.EndCharacter, nav.PeekChar());
        }