public void TextNavigator_PeekUntil_1() { const string text = "ABC]DEF"; TextNavigator navigator = new TextNavigator(text); Assert.AreEqual("ABC", navigator.PeekUntil(']')); navigator.ReadChar(); Assert.AreEqual("BC", navigator.PeekUntil(']')); navigator.ReadChar(); navigator.ReadChar(); Assert.AreEqual(string.Empty, navigator.PeekUntil(']')); navigator.ReadChar(); Assert.AreEqual("DEF", navigator.PeekUntil(']')); navigator.Move(3); Assert.IsNull(navigator.PeekUntil(']')); }
public void TextNavigator_PeekUntil_2() { const string text = "ABC]DE+F"; char[] stop = { ']', '+' }; TextNavigator navigator = new TextNavigator(text); Assert.AreEqual("ABC", navigator.PeekUntil(stop)); navigator.ReadChar(); Assert.AreEqual("BC", navigator.PeekUntil(stop)); navigator.ReadChar(); navigator.ReadChar(); Assert.AreEqual(string.Empty, navigator.PeekUntil(stop)); navigator.ReadChar(); Assert.AreEqual("DE", navigator.PeekUntil(stop)); navigator.Move(3); Assert.AreEqual("F", navigator.PeekUntil(stop)); navigator.ReadChar(); Assert.IsNull(navigator.PeekUntil(stop)); }