public void ValidatesPatternWithMoreCharsInRange() { var a = new OneOrMore(new Range('0', '9')); Assert.True(a.Match("123").Success()); Assert.Equal("", a.Match("123").RemainingText()); }
public void InvalidatesEmpty() { var a = new OneOrMore(new Range('0', '9')); Assert.False(a.Match("").Success()); Assert.Equal("", a.Match("").RemainingText()); }
public void InvalidatesPatternWithNoCharInRange() { var a = new OneOrMore(new Range('0', '9')); Assert.False(a.Match("bc").Success()); Assert.Equal("bc", a.Match("bc").RemainingText()); }
public void InvalidatesNullString() { var a = new OneOrMore(new Range('0', '9')); Assert.False(a.Match(null).Success()); Assert.Null(a.Match(null).RemainingText()); }
public void DoesNotConsumeEmptyTextWithComplexPattern() { var digits = new OneOrMore(new Range('0', '9')); var whitespace = new Many(new Any(" \r\n\t")); var separator = new Sequence(whitespace, new Character(';'), whitespace); var list = new List(digits, separator); Assert.True(list.Match("").Success()); Assert.Equal("", list.Match("").RemainingText()); }