public void TwoChars() { string patternText = "cd"; BasePattern expected = new GroupPattern(true, new StringPattern("cd")); RegexAssert.IsASTTransformCorrect(expected, patternText, transform); }
public void ManyChars() { string patternText = @"A longer string\."; BasePattern expected = new GroupPattern(true, new StringPattern("A longer string.")); RegexAssert.IsASTTransformCorrect(expected, patternText, transform); }
public void OneChar() { string patternText = "x"; BasePattern expected = new GroupPattern(true, new CharEscapePattern('x')); RegexAssert.IsASTTransformCorrect(expected, patternText, transform); }
public void Quantifier_0() { string patternText = "a(bc){0}"; BasePattern expected = new GroupPattern( true, new CharEscapePattern('a')); RegexAssert.IsASTTransformCorrect(expected, patternText, transform); }
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)); }
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); }
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); }
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)); }
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); }
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)); }