Ejemplo n.º 1
0
        public void LeadingPrefix(string pattern, RegexOptions options, int expectedMode, string expectedPrefix)
        {
            RegexFindOptimizations opts = ComputeOptimizations(pattern, options);

            Assert.Equal((FindNextStartingPositionMode)expectedMode, opts.FindMode);
            Assert.Equal(expectedPrefix, opts.LeadingCaseSensitivePrefix);
        }
Ejemplo n.º 2
0
        public void TrailingAnchor(string pattern, RegexOptions options, int expectedMode, int expectedLength, int trailingAnchor)
        {
            RegexFindOptimizations opts = ComputeOptimizations(pattern, options);

            Assert.Equal((FindNextStartingPositionMode)expectedMode, opts.FindMode);
            Assert.Equal(expectedLength, opts.MaxPossibleLength);
            Assert.Equal((RegexNodeKind)trailingAnchor, opts.TrailingAnchor);
        }
Ejemplo n.º 3
0
        public void FixedDistanceString(string pattern, RegexOptions options, int expectedMode, string expectedString, int distance)
        {
            RegexFindOptimizations opts = ComputeOptimizations(pattern, options);

            Assert.Equal((FindNextStartingPositionMode)expectedMode, opts.FindMode);
            Assert.Equal(expectedString, opts.FixedDistanceLiteral.String);
            Assert.Equal(distance, opts.FixedDistanceLiteral.Distance);
        }
Ejemplo n.º 4
0
        public void LiteralAfterLoop(string pattern, RegexOptions options, int expectedMode, string?expectedString, char expectedChar)
        {
            RegexFindOptimizations opts = ComputeOptimizations(pattern, options);

            Assert.Equal((FindNextStartingPositionMode)expectedMode, opts.FindMode);
            Assert.NotNull(opts.LiteralAfterLoop);
            Assert.Equal(expectedString, opts.LiteralAfterLoop.Value.Literal.String);
            Assert.Equal(expectedChar, opts.LiteralAfterLoop.Value.Literal.Char);
        }
Ejemplo n.º 5
0
        public void LeadingSet(string pattern, RegexOptions options, int expectedMode, string expectedChars)
        {
            RegexFindOptimizations opts = ComputeOptimizations(pattern, options);

            Assert.Equal((FindNextStartingPositionMode)expectedMode, opts.FindMode);
            Assert.Equal(1, opts.FixedDistanceSets.Count);
            Assert.Equal(0, opts.FixedDistanceSets[0].Distance);
            Assert.Equal(expectedChars, new string(opts.FixedDistanceSets[0].Chars));
        }