示例#1
0
        public void ConsumesOneOccurenceOfPatternInText()
        {
            var a = new Many(new Character('a'));

            Assert.True(a.Match("abc").Success());
            Assert.Equal("bc", a.Match("abc").RemainingText());
        }
示例#2
0
        public void DoesNotConsumeAnyCharacterBecauseNoneIsInRange()
        {
            var digits = new Many(new Range('0', '9'));

            Assert.True(digits.Match("ab").Success());
            Assert.Equal("ab", digits.Match("ab").RemainingText());
        }
示例#3
0
        public void DoesNotConsumePatternInNullText()
        {
            var a = new Many(new Character('a'));

            Assert.True(a.Match(null).Success());
            Assert.Null(a.Match(null).RemainingText());
        }
示例#4
0
        public void ConsumesMultipleCharactersInRange()
        {
            var digits = new Many(new Range('0', '9'));

            Assert.True(digits.Match("12345ab123").Success());
            Assert.Equal("ab123", digits.Match("12345ab123").RemainingText());
        }
示例#5
0
        public void DoesNotConsumePatternInEmptyText()
        {
            var a = new Many(new Character('a'));

            Assert.True(a.Match("").Success());
            Assert.Equal("", a.Match("").RemainingText());
        }