public void Intersects_BothInfinite_Intersection()
        {
            // arrange
            ConstraintSet <string> left  = this.CreateAndAssertSet(StringComparer.OrdinalIgnoreCase);
            ConstraintSet <string> right = this.CreateAndAssertSet(StringComparer.OrdinalIgnoreCase);

            left.Exclude("C");
            right.Exclude("D");

            // act
            bool leftIntersects  = left.Intersects(right);
            bool rightIntersects = right.Intersects(left);

            // assert
            leftIntersects.Should().BeTrue();
            rightIntersects.Should().BeTrue();
        }
        public void Intersects_OneInfinite_NonIntersection()
        {
            // arrange
            ConstraintSet <string> left  = this.CreateAndAssertSet(StringComparer.OrdinalIgnoreCase);
            ConstraintSet <string> right = this.CreateAndAssertSet(StringComparer.OrdinalIgnoreCase);

            left.Exclude(new[] { "A", "B", "C" });
            right.AddBound(new[] { "A", "B", "C" });

            // act
            bool leftIntersects  = left.Intersects(right);
            bool rightIntersects = right.Intersects(left);

            // assert
            leftIntersects.Should().BeFalse();
            rightIntersects.Should().BeFalse();
        }
Beispiel #3
0
        public void Intersects_Bounded_Intersection()
        {
            // arrange
            ConstraintSet <string> left  = this.CreateAndAssertSet(StringComparer.InvariantCultureIgnoreCase);
            ConstraintSet <string> right = this.CreateAndAssertSet(StringComparer.InvariantCultureIgnoreCase);

            left.AddBound(new[] { "A", "B", "C", "D" });
            right.AddBound(new[] { "C", "D" });
            left.Exclude("C");
            right.Exclude("C");

            // act
            bool leftIntersects  = left.Intersects(right);
            bool rightIntersects = right.Intersects(left);

            // assert
            leftIntersects.Should().BeTrue();
            rightIntersects.Should().BeTrue();
        }