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(); }
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(); }