Example #1
0
 public void PatternsUnderDifferentNamespacesShouldBeOfSamePriority()
 {
     AnnotationFilterPattern.Create("ns.*").CompareTo(AnnotationFilterPattern.Create("ns1.*")).Should().Be(0);
     AnnotationFilterPattern.Create("ns.sub1.name").CompareTo(AnnotationFilterPattern.Create("ns.sub2.name")).Should().Be(0);
     AnnotationFilterPattern.Create("ns.sub1.*").CompareTo(AnnotationFilterPattern.Create("ns.sub12.*")).Should().Be(0);
     AnnotationFilterPattern.Create("ns1.name").CompareTo(AnnotationFilterPattern.Create("ns2.name")).Should().Be(0);
 }
Example #2
0
        public void CreateExcludeExactMatchFilterShouldPass()
        {
            AnnotationFilterPattern exactMatchPattern = AnnotationFilterPattern.Create("-namespace.name");

            Assert.True(exactMatchPattern.IsExclude);
            Assert.False(exactMatchPattern.Matches("any.any"));
            Assert.True(exactMatchPattern.Matches("namespace.name"));
        }
Example #3
0
        public void CreateExcludeExactMatchFilterShouldPass()
        {
            AnnotationFilterPattern exactMatchPattern = AnnotationFilterPattern.Create("-namespace.name");

            exactMatchPattern.IsExclude.Should().BeTrue();
            exactMatchPattern.Matches("any.any").Should().BeFalse();
            exactMatchPattern.Matches("namespace.name").Should().BeTrue();
        }
Example #4
0
 public void InvalidPatternWildCardNotInLastSegmentShouldThrow()
 {
     foreach (string pattern in new[] { "namespace.*.name", "*.name", "*.namespce.name", "-namespace.*.name", "-*.name", "-*.namespce.name" })
     {
         Action test = () => AnnotationFilterPattern.Create(pattern);
         test.ShouldThrow <ArgumentException>().WithMessage(Strings.AnnotationFilterPattern_InvalidPatternWildCardMustBeInLastSegment(pattern));
     }
 }
Example #5
0
        public void CreateExcludeStartsWithFilterShouldPass()
        {
            AnnotationFilterPattern startsWithPattern = AnnotationFilterPattern.Create("-namespace.*");

            Assert.True(startsWithPattern.IsExclude);
            Assert.False(startsWithPattern.Matches("any.any"));
            Assert.True(startsWithPattern.Matches("namespace.any"));
        }
Example #6
0
 public void ExcludeShouldHaveHigherPriorityThanIncludeIfThePatternsHaveTheSamePriority()
 {
     AnnotationFilterPattern.Create("-*").CompareTo(AnnotationFilterPattern.Create("*")).Should().Be(-1);
     AnnotationFilterPattern.Create("-ns.*").CompareTo(AnnotationFilterPattern.Create("ns.*")).Should().Be(-1);
     AnnotationFilterPattern.Create("-ns.name").CompareTo(AnnotationFilterPattern.Create("ns.name")).Should().Be(-1);
     AnnotationFilterPattern.Create("-ns.*").CompareTo(AnnotationFilterPattern.Create("ns1.*")).Should().Be(-1);
     AnnotationFilterPattern.Create("-ns.sub1.*").CompareTo(AnnotationFilterPattern.Create("ns.sub2.*")).Should().Be(-1);
 }
Example #7
0
 public void InvalidPatternMissingDotShouldThrow()
 {
     foreach (string pattern in new[] { "name", "-name" })
     {
         Action test = () => AnnotationFilterPattern.Create(pattern);
         test.ShouldThrow <ArgumentException>().WithMessage(Strings.AnnotationFilterPattern_InvalidPatternMissingDot(pattern));
     }
 }
Example #8
0
 public void InvalidPatternEmptySegmentShouldThrow()
 {
     foreach (string pattern in new[] { "namespace.", ".name", ".", "-namespace.", "-.name", "-.", "-.*" })
     {
         Action test = () => AnnotationFilterPattern.Create(pattern);
         test.ShouldThrow <ArgumentException>().WithMessage(Strings.AnnotationFilterPattern_InvalidPatternEmptySegment(pattern));
     }
 }
Example #9
0
        public void CreateExcludeStartsWithFilterShouldPass()
        {
            AnnotationFilterPattern startsWithPattern = AnnotationFilterPattern.Create("-namespace.*");

            startsWithPattern.IsExclude.Should().BeTrue();
            startsWithPattern.Matches("any.any").Should().BeFalse();
            startsWithPattern.Matches("namespace.any").Should().BeTrue();
        }
Example #10
0
 public void IdenticalPatternsShouldBeOfSamePriority()
 {
     AnnotationFilterPattern.Create("*").CompareTo(AnnotationFilterPattern.Create("*")).Should().Be(0);
     AnnotationFilterPattern.Create("ns.*").CompareTo(AnnotationFilterPattern.Create("ns.*")).Should().Be(0);
     AnnotationFilterPattern.Create("ns.name").CompareTo(AnnotationFilterPattern.Create("ns.name")).Should().Be(0);
     AnnotationFilterPattern.Create("-*").CompareTo(AnnotationFilterPattern.Create("-*")).Should().Be(0);
     AnnotationFilterPattern.Create("-ns.*").CompareTo(AnnotationFilterPattern.Create("-ns.*")).Should().Be(0);
     AnnotationFilterPattern.Create("-ns.name").CompareTo(AnnotationFilterPattern.Create("-ns.name")).Should().Be(0);
 }
Example #11
0
 public void IdenticalPatternsShouldBeOfSamePriority()
 {
     Assert.Equal(0, AnnotationFilterPattern.Create("*").CompareTo(AnnotationFilterPattern.Create("*")));
     Assert.Equal(0, AnnotationFilterPattern.Create("ns.*").CompareTo(AnnotationFilterPattern.Create("ns.*")));
     Assert.Equal(0, AnnotationFilterPattern.Create("ns.name").CompareTo(AnnotationFilterPattern.Create("ns.name")));
     Assert.Equal(0, AnnotationFilterPattern.Create("-*").CompareTo(AnnotationFilterPattern.Create("-*")));
     Assert.Equal(0, AnnotationFilterPattern.Create("-ns.*").CompareTo(AnnotationFilterPattern.Create("-ns.*")));
     Assert.Equal(0, AnnotationFilterPattern.Create("-ns.name").CompareTo(AnnotationFilterPattern.Create("-ns.name")));
 }
Example #12
0
        /// <summary>
        /// Private constructor to create a filter from comma delimited patterns to match to include or exclude annotations.
        /// </summary>
        /// <param name="prioritizedPatternsToMatch">Patters to match to include or exclude annotations.</param>
        private AnnotationFilter(AnnotationFilterPattern[] prioritizedPatternsToMatch)
        {
#if DEBUG
            for (int idx = 1; idx < prioritizedPatternsToMatch.Length; idx++)
            {
                Debug.Assert(
                    prioritizedPatternsToMatch[idx - 1].CompareTo(prioritizedPatternsToMatch[idx]) < 1,
                    "The prioritizedPattersToMatch array should have been sorted in the order of higher to lower priorities to match.");
            }
#endif
            this.prioritizedPatternsToMatch = prioritizedPatternsToMatch;
        }
Example #13
0
        public void SortShouldOrderPatternsFromHigherPriorityToLowerPriority()
        {
            AnnotationFilterPattern pattern1 = AnnotationFilterPattern.Create("*");
            AnnotationFilterPattern pattern2 = AnnotationFilterPattern.Create("-*");
            AnnotationFilterPattern pattern3 = AnnotationFilterPattern.Create("ns.*");
            AnnotationFilterPattern pattern4 = AnnotationFilterPattern.Create("ns.name");
            AnnotationFilterPattern pattern5 = AnnotationFilterPattern.Create("-ns.name");

            AnnotationFilterPattern[] patternsToSort = new[] { pattern1, pattern2, pattern3, pattern4, pattern5 };
            AnnotationFilterPattern.Sort(patternsToSort);
            Assert.Equal(pattern5, patternsToSort[0]);
            Assert.Equal(pattern4, patternsToSort[1]);
            Assert.Equal(pattern3, patternsToSort[2]);
            Assert.Equal(pattern2, patternsToSort[3]);
            Assert.Equal(pattern1, patternsToSort[4]);
        }
Example #14
0
        public void SortShouldOrderPatternsFromHigherPriorityToLowerPriority()
        {
            AnnotationFilterPattern pattern1 = AnnotationFilterPattern.Create("*");
            AnnotationFilterPattern pattern2 = AnnotationFilterPattern.Create("-*");
            AnnotationFilterPattern pattern3 = AnnotationFilterPattern.Create("ns.*");
            AnnotationFilterPattern pattern4 = AnnotationFilterPattern.Create("ns.name");
            AnnotationFilterPattern pattern5 = AnnotationFilterPattern.Create("-ns.name");

            AnnotationFilterPattern[] patternsToSort = new[] { pattern1, pattern2, pattern3, pattern4, pattern5 };
            AnnotationFilterPattern.Sort(patternsToSort);
            patternsToSort[0].Should().Be(pattern5);
            patternsToSort[1].Should().Be(pattern4);
            patternsToSort[2].Should().Be(pattern3);
            patternsToSort[3].Should().Be(pattern2);
            patternsToSort[4].Should().Be(pattern1);
        }
Example #15
0
 public void IfPattern2StartsWithPattern1Pattern2ShouldBeGivenHigherPriorityThanPattern1()
 {
     Assert.Equal(1, AnnotationFilterPattern.Create("ns.*").CompareTo(AnnotationFilterPattern.Create("ns.name")));
     Assert.Equal(1, AnnotationFilterPattern.Create("ns.sub").CompareTo(AnnotationFilterPattern.Create("ns.sub1.*")));
 }
Example #16
0
 public void CreateWithMinusStartShouldReturnExcludeAllPattern()
 {
     AnnotationFilterPattern.Create("-*").As <object>().Should().BeSameAs(AnnotationFilterPattern.ExcludeAllPattern);
 }
Example #17
0
 public void CreateWithStarShouldReturnIncludeAllPattern()
 {
     AnnotationFilterPattern.Create("*").As <object>().Should().BeSameAs(AnnotationFilterPattern.IncludeAllPattern);
 }
Example #18
0
        public void CreatePatternShouldThrowOnEmptyPattern()
        {
            Action test = () => AnnotationFilterPattern.Create("");

            test.ShouldThrow <ArgumentNullException>();
        }
Example #19
0
 public void IfPattern2StartsWithPattern1Pattern2ShouldBeGivenHigherPriorityThanPattern1()
 {
     AnnotationFilterPattern.Create("ns.*").CompareTo(AnnotationFilterPattern.Create("ns.name")).Should().Be(1);
     AnnotationFilterPattern.Create("ns.sub").CompareTo(AnnotationFilterPattern.Create("ns.sub1.*")).Should().Be(1);
 }
Example #20
0
        public void CreatePatternShouldThrowOnNullPattern()
        {
            Action test = () => AnnotationFilterPattern.Create(null);

            Assert.Throws <ArgumentNullException>(test);
        }
Example #21
0
 public void WildCardShouldHaveLowerPriorityThanNoneWildCard()
 {
     AnnotationFilterPattern.Create("*").CompareTo(AnnotationFilterPattern.Create("foo.*")).Should().Be(1);
     AnnotationFilterPattern.Create("-ns.*").CompareTo(AnnotationFilterPattern.Create("*")).Should().Be(-1);
 }
Example #22
0
 public void WildCardShouldHaveLowerPriorityThanNoneWildCard()
 {
     Assert.Equal(1, AnnotationFilterPattern.Create("*").CompareTo(AnnotationFilterPattern.Create("foo.*")));
     Assert.Equal(-1, AnnotationFilterPattern.Create("-ns.*").CompareTo(AnnotationFilterPattern.Create("*")));
 }
Example #23
0
 public void CreateWithStarShouldReturnIncludeAllPattern()
 {
     Assert.Same(AnnotationFilterPattern.IncludeAllPattern, AnnotationFilterPattern.Create("*"));
 }
Example #24
0
 public void CreateWithMinusStartShouldReturnExcludeAllPattern()
 {
     Assert.Same(AnnotationFilterPattern.ExcludeAllPattern, AnnotationFilterPattern.Create("-*"));
 }
Example #25
0
        public void InvalidPatternWildCardInSegmentShouldThrow(string pattern)
        {
            Action test = () => AnnotationFilterPattern.Create(pattern);

            test.Throws <ArgumentException>(Strings.AnnotationFilterPattern_InvalidPatternWildCardInSegment(pattern));
        }