Exemple #1
0
        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')));
        }
Exemple #2
0
        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')));
        }
Exemple #3
0
        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'))));
        }