Esempio n. 1
0
        public void TwoChars()
        {
            string patternText = "cd";

            BasePattern expected = new GroupPattern(true,
                                                    new StringPattern("cd"));

            RegexAssert.IsASTTransformCorrect(expected, patternText, transform);
        }
Esempio n. 2
0
        public void ManyChars()
        {
            string patternText = @"A longer string\.";

            BasePattern expected = new GroupPattern(true,
                                                    new StringPattern("A longer string."));

            RegexAssert.IsASTTransformCorrect(expected, patternText, transform);
        }
Esempio n. 3
0
        public void OneChar()
        {
            string patternText = "x";

            BasePattern expected = new GroupPattern(true,
                                                    new CharEscapePattern('x'));

            RegexAssert.IsASTTransformCorrect(expected, patternText, transform);
        }
Esempio n. 4
0
        public void Quantifier_0()
        {
            string patternText = "a(bc){0}";

            BasePattern expected = new GroupPattern(
                true,
                new CharEscapePattern('a'));

            RegexAssert.IsASTTransformCorrect(expected, patternText, transform);
        }
Esempio n. 5
0
        public void Singleline_True()
        {
            string patternText = ".+";

            BasePattern expected = new GroupPattern(
                true,
                new QuantifierPattern(
                    new AnyCharPattern(true),
                    1, null, true));

            RegexAssert.IsASTTransformCorrect(expected, patternText,
                                              new RegexOptionsASTTransform(RegexOptions.Singleline));
        }
Esempio n. 6
0
        public void ManyCharsWithClasses()
        {
            string patternText = @"ab[cd][efg]hijk\dm";

            BasePattern expected = new GroupPattern(true,
                                                    new StringPattern("ab"),
                                                    new CharGroupPattern(true, "cd"),
                                                    new CharGroupPattern(true, "efg"),
                                                    new StringPattern("hijk"),
                                                    CharGroupPattern.DigitChar,
                                                    new CharEscapePattern('m'));

            RegexAssert.IsASTTransformCorrect(expected, patternText, transform);
        }
Esempio n. 7
0
        public void Quantifier_N()
        {
            string patternText = "a(bc){4}";

            BasePattern innerGroup = new GroupPattern(
                true,
                new CharEscapePattern('b'),
                new CharEscapePattern('c'));

            // Unchanged
            BasePattern expected = new GroupPattern(
                true,
                new CharEscapePattern('a'),
                new QuantifierPattern(innerGroup, 4, 4, true));

            RegexAssert.IsASTTransformCorrect(expected, patternText, transform);
        }
Esempio n. 8
0
        public void Multiline_True()
        {
            string patternText = @"^\b\B\z\Z\A\G$";

            BasePattern expected = new GroupPattern(
                true,
                new AnchorPattern(AnchorType.StartOfLine),
                new AnchorPattern(AnchorType.WordBoundary),
                new AnchorPattern(AnchorType.NonWordBoundary),
                new AnchorPattern(AnchorType.EndOfString),
                new AnchorPattern(AnchorType.EndOfStringOrBeforeEndingNewline),
                new AnchorPattern(AnchorType.StartOfString),
                new AnchorPattern(AnchorType.ContiguousMatch),
                new AnchorPattern(AnchorType.EndOfLine));

            RegexAssert.IsASTTransformCorrect(expected, patternText,
                                              new RegexOptionsASTTransform(RegexOptions.Multiline));
        }
Esempio n. 9
0
        public void Quantifier_Plus()
        {
            string patternText = "a(bc)+";

            BasePattern innerGroup = new GroupPattern(
                true,
                new CharEscapePattern('b'),
                new CharEscapePattern('c'));

            BasePattern expected = new GroupPattern(
                true,
                new CharEscapePattern('a'),
                new GroupPattern(
                    false,
                    innerGroup,
                    new QuantifierPattern(innerGroup, 0, null, true)));

            RegexAssert.IsASTTransformCorrect(expected, patternText, transform);
        }
Esempio n. 10
0
        public void IgnoreCase()
        {
            string patternText = @"aA7 :.[a-m]\w\D\s.+";

            BasePattern expected = new GroupPattern(
                true,
                new CaseInsensitiveCharPattern(new CharEscapePattern('a')),
                new CaseInsensitiveCharPattern(new CharEscapePattern('A')),
                new CharEscapePattern('7'),
                new CharEscapePattern(' '),
                new CharEscapePattern(':'),
                new AnyCharPattern(false),
                new CaseInsensitiveCharPattern(
                    new CharGroupPattern(true, new [] { new CharRangePattern('a', 'm') })),
                CharGroupPattern.WordChar,
                CharGroupPattern.DigitChar.Negated,
                CharGroupPattern.WhitespaceChar,
                new QuantifierPattern(
                    new AnyCharPattern(false),
                    1, null, true));

            RegexAssert.IsASTTransformCorrect(expected, patternText,
                                              new RegexOptionsASTTransform(RegexOptions.IgnoreCase));
        }