public void SubtractAffectingTwoRanges() { var ranges = new IndexRange[] { new IndexRange(0, 6), new IndexRange(8, 10), }; var otherRange = new IndexRange(4, 9); var subtractedRanges = ranges.Subtract(otherRange); Assert.Collection(subtractedRanges, x => Assert.Equal(new IndexRange(0, 3), x), x => Assert.Equal(new IndexRange(10, 10), x)); }
public void SubtractDividivingOneRange() { var ranges = new IndexRange[] { new IndexRange(1, 3), new IndexRange(5, 10), }; var otherRange = new IndexRange(6, 7); var subtractedRanges = ranges.Subtract(otherRange); Assert.Collection(subtractedRanges, x => Assert.Equal(ranges[0], x), x => Assert.Equal(new IndexRange(5, 5), x), x => Assert.Equal(new IndexRange(8, 10), x)); }