public void TestConcatenationNodeRendering() { RegexNodeLiteral literal1 = new RegexNodeLiteral(@"\w*"); RegexNodeLiteral literal2 = new RegexNodeLiteral(@"\d+"); RegexNodeLiteral literal3 = new RegexNodeLiteral(@"\s?"); RegexNodeLiteral literal4 = new RegexNodeLiteral(@"\t"); RegexNodeConcatenation concatenation1 = new RegexNodeConcatenation(literal1, literal2); Assert.AreEqual(@"\w*\d+", concatenation1.ToRegexPattern()); RegexNodeConcatenation concatenation2 = new RegexNodeConcatenation(new List <RegexNode>(new[] { literal1, literal2 })); Assert.AreEqual(@"\w*\d+", concatenation2.ToRegexPattern()); RegexNodeConcatenation concatenation3 = new RegexNodeConcatenation(literal1, literal2); concatenation3.ChildNodes.Add(literal3); Assert.AreEqual(@"\w*\d+\s?", concatenation3.ToRegexPattern()); concatenation3.Quantifier = RegexQuantifier.ZeroOrMore; Assert.AreEqual(@"(?:\w*\d+\s?)*", concatenation3.ToRegexPattern()); concatenation3 = new RegexNodeConcatenation(new List <RegexNode>(new[] { literal4, literal2, literal3, literal1 })); concatenation3.Quantifier = RegexQuantifier.ZeroOrMore; Assert.AreEqual(@"(?:\t\d+\s?\w*)*", concatenation3.ToRegexPattern()); RegexNodeConcatenation concatenation4 = RegexBuilder.Concatenate(literal1, literal2); Assert.AreEqual(@"\w*\d+", concatenation4.ToRegexPattern()); RegexNodeConcatenation concatenation5 = RegexBuilder.Concatenate(literal1, literal2, RegexQuantifier.ZeroOrOne); Assert.AreEqual(@"(?:\w*\d+)?", concatenation5.ToRegexPattern()); RegexNodeConcatenation concatenation6 = RegexBuilder.Concatenate(literal1, literal2, literal3); Assert.AreEqual(@"\w*\d+\s?", concatenation6.ToRegexPattern()); RegexNodeConcatenation concatenation7 = RegexBuilder.Concatenate(literal1, literal2, literal3, RegexQuantifier.ZeroOrMore); Assert.AreEqual(@"(?:\w*\d+\s?)*", concatenation7.ToRegexPattern()); RegexNodeConcatenation concatenation8 = RegexBuilder.Concatenate(literal1, literal2, literal3, literal4); Assert.AreEqual(@"\w*\d+\s?\t", concatenation8.ToRegexPattern()); RegexNodeConcatenation concatenation9 = RegexBuilder.Concatenate(literal1, literal2, literal3, literal4, RegexQuantifier.OneOrMore); Assert.AreEqual(@"(?:\w*\d+\s?\t)+", concatenation9.ToRegexPattern()); }
public void TestConcatenationNodeRendering() { RegexNodeLiteral literal1 = new RegexNodeLiteral(@"\w*"); RegexNodeLiteral literal2 = new RegexNodeLiteral(@"\d+"); RegexNodeLiteral literal3 = new RegexNodeLiteral(@"\s?"); RegexNodeLiteral literal4 = new RegexNodeLiteral(@"\t"); RegexNodeConcatenation concatenation1 = new RegexNodeConcatenation(literal1, literal2); Assert.AreEqual(@"\w*\d+", concatenation1.ToRegexPattern()); RegexNodeConcatenation concatenation2 = new RegexNodeConcatenation(new List<RegexNode>(new[] { literal1, literal2 })); Assert.AreEqual(@"\w*\d+", concatenation2.ToRegexPattern()); RegexNodeConcatenation concatenation3 = new RegexNodeConcatenation(literal1, literal2); concatenation3.ChildNodes.Add(literal3); Assert.AreEqual(@"\w*\d+\s?", concatenation3.ToRegexPattern()); concatenation3.Quantifier = RegexQuantifier.ZeroOrMore; Assert.AreEqual(@"(?:\w*\d+\s?)*", concatenation3.ToRegexPattern()); concatenation3 = new RegexNodeConcatenation(new List<RegexNode>(new[] { literal4, literal2, literal3, literal1 })); concatenation3.Quantifier = RegexQuantifier.ZeroOrMore; Assert.AreEqual(@"(?:\t\d+\s?\w*)*", concatenation3.ToRegexPattern()); RegexNodeConcatenation concatenation4 = RegexBuilder.Concatenate(literal1, literal2); Assert.AreEqual(@"\w*\d+", concatenation4.ToRegexPattern()); RegexNodeConcatenation concatenation5 = RegexBuilder.Concatenate(literal1, literal2, RegexQuantifier.ZeroOrOne); Assert.AreEqual(@"(?:\w*\d+)?", concatenation5.ToRegexPattern()); RegexNodeConcatenation concatenation6 = RegexBuilder.Concatenate(literal1, literal2, literal3); Assert.AreEqual(@"\w*\d+\s?", concatenation6.ToRegexPattern()); RegexNodeConcatenation concatenation7 = RegexBuilder.Concatenate(literal1, literal2, literal3, RegexQuantifier.ZeroOrMore); Assert.AreEqual(@"(?:\w*\d+\s?)*", concatenation7.ToRegexPattern()); RegexNodeConcatenation concatenation8 = RegexBuilder.Concatenate(literal1, literal2, literal3, literal4); Assert.AreEqual(@"\w*\d+\s?\t", concatenation8.ToRegexPattern()); RegexNodeConcatenation concatenation9 = RegexBuilder.Concatenate(literal1, literal2, literal3, literal4, RegexQuantifier.OneOrMore); Assert.AreEqual(@"(?:\w*\d+\s?\t)+", concatenation9.ToRegexPattern()); }