protected override MatchResult Match(Text text) { var peek = text.Peek(symbol.Length); if (peek == symbol) return MatchResult.Succeed(peek); return MatchResult.Fail; }
protected override MatchResult Match(Text text) { var peek = text.Peek(symbol.Length); if (peek == symbol) { return(MatchResult.Succeed(peek)); } return(MatchResult.Fail); }
public void CanPeekAheadNCharacters() { var empty = new Text(""); empty.Peek(0).ShouldEqual(""); empty.Peek(1).ShouldEqual(""); var abc = new Text("abc"); abc.Peek(0).ShouldEqual(""); abc.Peek(1).ShouldEqual("a"); abc.Peek(2).ShouldEqual("ab"); abc.Peek(3).ShouldEqual("abc"); abc.Peek(4).ShouldEqual("abc"); abc.Peek(100).ShouldEqual("abc"); }