예제 #1
0
        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));
        }
예제 #2
0
        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));
        }