public void Parse_WithGroupedAlternativesInConcatination_ReturnsExpectedTree() { // Arrange var pattern = "a(b|c)d"; // Act var regex = Regex.Parse(pattern); // Assert regex.Tree.AssertConcatenation( TreeAssert.Char('a'), TreeAssert.Concat( TreeAssert.Alt( TreeAssert.Char('b'), TreeAssert.Char('c')), TreeAssert.Char('d'))); }
public void Parse_WithNestedAlternativeGroups_ReturnsExpectedTree() { // Arrange var pattern = "(a|b)(c|d)"; // Act var regex = Regex.Parse(pattern); // Assert regex.Tree.AssertConcatenation( TreeAssert.Alt( TreeAssert.Char('a'), TreeAssert.Char('b')), TreeAssert.Alt( TreeAssert.Char('c'), TreeAssert.Char('d'))); }
public void Parse_WithChainedAlternatives_ReturnsExpectedTree() { // Arrange var pattern = "a|b|c|d"; // Act var regex = Regex.Parse(pattern); // Assert regex.Tree.AssertAlternative( TreeAssert.Char('a'), TreeAssert.Alt( TreeAssert.Char('b'), TreeAssert.Alt( TreeAssert.Char('c'), TreeAssert.Char('d')))); }