예제 #1
0
        public void AddAndMerge_New_Inside_Range_Does_Not_Alter_Ranges()
        {
            // Given
            var testRange = new DekRange(1, 4);

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.AddAndMerge(testRange);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(DisconnectedDekRanges1, newRange);
        }
예제 #2
0
        public void Subtract_All()
        {
            // Given
            var subtractor    = new DekRange(0, 25);
            var expectedRange = new List <DekRange>
            {
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.SubtractRange(subtractor);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #3
0
        public void AddAndMerge_Overlapping_Ranges4()
        {
            // Given
            var testRange     = new DekRange(0, 25);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 25),
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.AddAndMerge(testRange);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #4
0
        public void AddAndMerge_Overlapping_Ranges7()
        {
            // Given
            var testRange     = new DekRange(1, 50); // Engulf all of testrange 2
            var expectedRange = new List <DekRange>
            {
                new DekRange(1, 50),
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges2.AddAndMerge(testRange);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #5
0
        public void Subtract_Touching_Ranges8()
        {
            // Given
            var testRange     = new DekRange(1, 100);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 0),
            };

            // When
            List <DekRange> newRange = DekRangeListTestHelper.Touchingrange.SubtractRange(testRange);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #6
0
        public void Subtract_Last4()
        {
            // Given
            var subtractor    = new DekRange(19, 26);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 5),
                new DekRange(10, 15)
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.SubtractRange(subtractor);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #7
0
        public void Subtract_SomeOfRangeAndAllOfNextAndMore()
        {
            // Given
            var subtractor    = new DekRange(1, 16);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 0),
                new DekRange(20, 25)
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.SubtractRange(subtractor);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #8
0
        public void AddAndMerge_Is_Pure()
        {
            // Given
            var testRange     = new DekRange(40, 45);
            var expectedRange = new List <DekRange>
            {
                new DekRange(10, 15),
                new DekRange(20, 25),
                new DekRange(30, 35),
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges2.AddAndMerge(testRange);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, DisconnectedDekRanges2);
        }
예제 #9
0
        public void Subtract_Is_Pure()
        {
            // Given
            var subtractor    = new DekRange(11, 12);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 5),
                new DekRange(10, 15),
                new DekRange(20, 25),
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.AddAndMerge(subtractor);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, DisconnectedDekRanges1);
        }
예제 #10
0
        public void Subtract_EndOfRangePlusMore()
        {
            // Given
            var subtractor    = new DekRange(1, 9);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 0),
                new DekRange(10, 15),
                new DekRange(20, 25)
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.SubtractRange(subtractor);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #11
0
        public void AddAndMerge_Touching_Ranges3()
        {
            // Given
            var testRange     = new DekRange(6, 9);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 5),
                new DekRange(6, 9),
                new DekRange(10, 15),
                new DekRange(20, 25),
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.AddAndMerge(testRange);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #12
0
        public void Subtract_Touching_Ranges5()
        {
            // Given
            var testRange     = new DekRange(5, 6);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 4),
                new DekRange(7, 7),
                new DekRange(10, 15),
                new DekRange(20, 25),
            };

            // When
            List <DekRange> newRange = DekRangeListTestHelper.Touchingrange.SubtractRange(testRange);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }
예제 #13
0
        public void Subtract_MiddleOfMiddle()
        {
            // Given
            var subtractor    = new DekRange(11, 14);
            var expectedRange = new List <DekRange>
            {
                new DekRange(0, 5),
                new DekRange(10, 10),
                new DekRange(15, 15),
                new DekRange(20, 25)
            };

            // When
            List <DekRange> newRange = DisconnectedDekRanges1.SubtractRange(subtractor);

            // Then
            DekRangeListTestHelper.AssertRangesEqual(expectedRange, newRange);
        }