Exemplo n.º 1
0
        public void ValidatesPatternWithMoreCharsInRange()
        {
            var a = new OneOrMore(new Range('0', '9'));

            Assert.True(a.Match("123").Success());
            Assert.Equal("", a.Match("123").RemainingText());
        }
Exemplo n.º 2
0
        public void InvalidatesEmpty()
        {
            var a = new OneOrMore(new Range('0', '9'));

            Assert.False(a.Match("").Success());
            Assert.Equal("", a.Match("").RemainingText());
        }
Exemplo n.º 3
0
        public void InvalidatesPatternWithNoCharInRange()
        {
            var a = new OneOrMore(new Range('0', '9'));

            Assert.False(a.Match("bc").Success());
            Assert.Equal("bc", a.Match("bc").RemainingText());
        }
Exemplo n.º 4
0
        public void InvalidatesNullString()
        {
            var a = new OneOrMore(new Range('0', '9'));

            Assert.False(a.Match(null).Success());
            Assert.Null(a.Match(null).RemainingText());
        }
Exemplo n.º 5
0
        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());
        }