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()); }
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 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 TestAlternationNodeNullExpressionListAssignment3() { RegexNodeAlternation alternation = new RegexNodeAlternation(new RegexNodeLiteral("a"), new RegexNodeLiteral("b"), null); Assert.IsNull(alternation); }
public void TestAlternationNodeNullExpressionListAssignment2() { RegexNodeAlternation alternation = new RegexNodeAlternation(null, null); Assert.IsNull(alternation); }