public void ConsumesOneOccurenceOfPatternInText() { var a = new Many(new Character('a')); Assert.True(a.Match("abc").Success()); Assert.Equal("bc", a.Match("abc").RemainingText()); }
public void DoesNotConsumeAnyCharacterBecauseNoneIsInRange() { var digits = new Many(new Range('0', '9')); Assert.True(digits.Match("ab").Success()); Assert.Equal("ab", digits.Match("ab").RemainingText()); }
public void DoesNotConsumePatternInNullText() { var a = new Many(new Character('a')); Assert.True(a.Match(null).Success()); Assert.Null(a.Match(null).RemainingText()); }
public void ConsumesMultipleCharactersInRange() { var digits = new Many(new Range('0', '9')); Assert.True(digits.Match("12345ab123").Success()); Assert.Equal("ab123", digits.Match("12345ab123").RemainingText()); }
public void DoesNotConsumePatternInEmptyText() { var a = new Many(new Character('a')); Assert.True(a.Match("").Success()); Assert.Equal("", a.Match("").RemainingText()); }