public void TestAlternationNodeRendering()
        {
            RegexNodeLiteral literal1 = new RegexNodeLiteral(@"\w*");
            RegexNodeLiteral literal2 = new RegexNodeLiteral(@"\d+");
            RegexNodeLiteral literal3 = new RegexNodeLiteral(@"\s?");

            RegexNodeAlternation alternation1 = new RegexNodeAlternation(literal1, literal2);
            Assert.AreEqual(@"(?:\w*|\d+)", alternation1.ToRegexPattern());

            RegexNodeAlternation alternation2 = new RegexNodeAlternation(literal1, literal2, literal3);
            Assert.AreEqual(@"(?:\w*|\d+|\s?)", alternation2.ToRegexPattern());

            RegexNodeAlternation alternation3 = RegexBuilder.Alternate(literal1, literal2);
            Assert.AreEqual(@"(?:\w*|\d+)", alternation3.ToRegexPattern());

            RegexNodeAlternation alternation4 = RegexBuilder.Alternate(new RegexNode[] { literal1, literal2, literal3 });
            Assert.AreEqual(@"(?:\w*|\d+|\s?)", alternation4.ToRegexPattern());

            RegexNodeAlternation alternation5 = new RegexNodeAlternation(literal1, literal2);
            alternation5.Quantifier = RegexQuantifier.ZeroOrMore;
            Assert.AreEqual(@"(?:\w*|\d+)*", alternation5.ToRegexPattern());

            RegexNodeAlternation alternation6 = new RegexNodeAlternation(literal1, literal2, literal3);
            alternation6.Quantifier = RegexQuantifier.OneOrMore;
            Assert.AreEqual(@"(?:\w*|\d+|\s?)+", alternation6.ToRegexPattern());

            RegexNodeAlternation alternation7 = RegexBuilder.Alternate(literal1, literal2, RegexQuantifier.ZeroOrOne);
            Assert.AreEqual(@"(?:\w*|\d+)?", alternation7.ToRegexPattern());

            RegexNodeAlternation alternation8 = RegexBuilder.Alternate(new RegexNode[] { literal1, literal2, literal3 }, RegexQuantifier.AtLeast(5));
            Assert.AreEqual(@"(?:\w*|\d+|\s?){5,}", alternation8.ToRegexPattern());
        }
Exemplo n.º 2
0
        public void TestAlternationNodeConstruction()
        {
            RegexNodeLiteral literal1 = new RegexNodeLiteral("a");
            RegexNodeLiteral literal2 = new RegexNodeLiteral("b");
            RegexNodeAlternation alternation = new RegexNodeAlternation(literal1, literal2);

            List<RegexNode> expressions = new List<RegexNode>(alternation.Expressions);
            Assert.AreEqual(expressions.Count, 2);
            Assert.AreEqual(expressions[0], literal1);
            Assert.AreEqual(expressions[1], literal2);
        }
Exemplo n.º 3
0
        public void TestAlternationNodeConstruction()
        {
            RegexNodeLiteral     literal1    = new RegexNodeLiteral("a");
            RegexNodeLiteral     literal2    = new RegexNodeLiteral("b");
            RegexNodeAlternation alternation = new RegexNodeAlternation(literal1, literal2);

            List <RegexNode> expressions = new List <RegexNode>(alternation.Expressions);

            Assert.AreEqual(expressions.Count, 2);
            Assert.AreEqual(expressions[0], literal1);
            Assert.AreEqual(expressions[1], literal2);
        }
        public void TestAlternationNodeRendering()
        {
            RegexNodeLiteral literal1 = new RegexNodeLiteral(@"\w*");
            RegexNodeLiteral literal2 = new RegexNodeLiteral(@"\d+");
            RegexNodeLiteral literal3 = new RegexNodeLiteral(@"\s?");

            RegexNodeAlternation alternation1 = new RegexNodeAlternation(literal1, literal2);

            Assert.AreEqual(@"(?:\w*|\d+)", alternation1.ToRegexPattern());

            RegexNodeAlternation alternation2 = new RegexNodeAlternation(literal1, literal2, literal3);

            Assert.AreEqual(@"(?:\w*|\d+|\s?)", alternation2.ToRegexPattern());

            RegexNodeAlternation alternation3 = RegexBuilder.Alternate(literal1, literal2);

            Assert.AreEqual(@"(?:\w*|\d+)", alternation3.ToRegexPattern());

            RegexNodeAlternation alternation4 = RegexBuilder.Alternate(new RegexNode[] { literal1, literal2, literal3 });

            Assert.AreEqual(@"(?:\w*|\d+|\s?)", alternation4.ToRegexPattern());

            RegexNodeAlternation alternation5 = new RegexNodeAlternation(literal1, literal2);

            alternation5.Quantifier = RegexQuantifier.ZeroOrMore;
            Assert.AreEqual(@"(?:\w*|\d+)*", alternation5.ToRegexPattern());

            RegexNodeAlternation alternation6 = new RegexNodeAlternation(literal1, literal2, literal3);

            alternation6.Quantifier = RegexQuantifier.OneOrMore;
            Assert.AreEqual(@"(?:\w*|\d+|\s?)+", alternation6.ToRegexPattern());

            RegexNodeAlternation alternation7 = RegexBuilder.Alternate(literal1, literal2, RegexQuantifier.ZeroOrOne);

            Assert.AreEqual(@"(?:\w*|\d+)?", alternation7.ToRegexPattern());

            RegexNodeAlternation alternation8 = RegexBuilder.Alternate(new RegexNode[] { literal1, literal2, literal3 }, RegexQuantifier.AtLeast(5));

            Assert.AreEqual(@"(?:\w*|\d+|\s?){5,}", alternation8.ToRegexPattern());
        }
Exemplo n.º 5
0
 public void TestAlternationNodeNullExpressionListAssignment3()
 {
     RegexNodeAlternation alternation = new RegexNodeAlternation(new RegexNodeLiteral("a"), new RegexNodeLiteral("b"), null);
     Assert.IsNull(alternation);
 }
Exemplo n.º 6
0
 public void TestAlternationNodeNullExpressionListAssignment2()
 {
     RegexNodeAlternation alternation = new RegexNodeAlternation(null, null);
     Assert.IsNull(alternation);
 }
Exemplo n.º 7
0
        public void TestAlternationNodeNullExpressionListAssignment3()
        {
            RegexNodeAlternation alternation = new RegexNodeAlternation(new RegexNodeLiteral("a"), new RegexNodeLiteral("b"), null);

            Assert.IsNull(alternation);
        }
Exemplo n.º 8
0
        public void TestAlternationNodeNullExpressionListAssignment2()
        {
            RegexNodeAlternation alternation = new RegexNodeAlternation(null, null);

            Assert.IsNull(alternation);
        }