Пример #1
0
 public void TestComplexParser()
 {
     Assert.IsTrue(IsEqual("a+(bc)*",
                           RegexNode.GetCharSetExpression('a').Some() +
                           (RegexNode.GetCharSetExpression('b') +
                            RegexNode.GetCharSetExpression('c')).Any()));
 }
Пример #2
0
 public void TestCharSetNormalize()
 {
     Assert.IsTrue(IsCharSetEqual("[a-z][A-Z]", RegexNode.GetCharSetExpression('a', 'z') + RegexNode.GetCharSetExpression('A', 'Z')));
     Assert.IsTrue(IsCharSetEqual("[a-g][b-z]", (RegexNode.GetCharSetExpression('a', 'a') % RegexNode.GetCharSetExpression('b', 'g')) + (RegexNode.GetCharSetExpression('b', 'g') % RegexNode.GetCharSetExpression('h', 'z'))));
     Assert.IsTrue(IsCharSetEqual("[^C-X][A-Z]",
                                  RegexNode.GetCharSetExpression((char)1, (char)('A' - 1)) % RegexNode.GetCharSetExpression('A', 'B') %
                                  RegexNode.GetCharSetExpression('Y', 'Z') % RegexNode.GetCharSetExpression((char)('Z' + 1), char.MaxValue)
                                  + RegexNode.GetCharSetExpression('A', 'B') % RegexNode.GetCharSetExpression('C', 'X') %
                                  RegexNode.GetCharSetExpression('Y', 'Z')));
 }
Пример #3
0
 public void TestParser()
 {
     Assert.IsTrue(IsEqual("[a-z]", RegexNode.GetCharSetExpression('a', 'z')));
     Assert.IsTrue(IsEqual("a{1,2}", RegexNode.GetCharSetExpression('a').Loop(1, 2)));
     Assert.IsTrue(IsEqual("ab*c", RegexNode.GetCharSetExpression('a') +
                           RegexNode.GetCharSetExpression('b').Any() +
                           RegexNode.GetCharSetExpression('c')));
     Assert.IsTrue(IsEqual("(<captured>a*)",
                           RegexNode.GetCapture("captured", RegexNode.GetCharSetExpression('a').Any())));
     Assert.IsTrue(IsEqual(
                       "(=a*)", +RegexNode.GetCharSetExpression('a').Any()));
 }