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()); }
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(); } }
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()); }