public Number() { Optional minus = new Optional(new Character('-')); OneOrMore digits = new OneOrMore(new Range('0', '9')); Choice firstdigits = new Choice(new Character('0'), new Sequence(new Range('1', '9'), new Many(new Range('0', '9')))); Optional fraction = new Optional( new Sequence( new Character('.'), digits)); Optional exponent = new Optional( new Sequence( new Any("eE"), new Optional(new Any("-+")), firstdigits, fraction)); this.pattern = new Sequence(minus, firstdigits, fraction, exponent); }
public Number() { var digit = new Range('0', '9'); var digits = new OneOrMore(digit); var sign = new Any("-+"); var integer = new Sequence( new Optional(new Character('-')), new Choice(new Character('0'), digits)); var exponent = new Optional( new Sequence( new Any("eE"), new Optional(sign), digits)); var fraction = new Optional( new Sequence( new Character('.'), digits)); pattern = new Sequence(integer, fraction, exponent); }
public void CheckIfItReturnsTrueIfItMatchesOne() { OneOrMore variable = new OneOrMore(new Character('a')); Assert.True(variable.Match("abcde").Success()); }
public void CheckIfRemainingTextIsCorrect() { OneOrMore variable = new OneOrMore(new Character('a')); Assert.Equal("bcde", variable.Match("aaaabcde").RemainingText()); }
public void CheckIfItReturnsFalseIfItDoesntMatch() { OneOrMore variable = new OneOrMore(new Character('a')); Assert.False(variable.Match("bcde").Success()); }