public void DateEdges_AddMultipleDateIntervals_ReturnSortedDateEdges()
        {
            //Arrange
            var dateIntervalCollection = new DateIntervalCollection();

            dateIntervalCollection.Add(nowAndTenDaysInterval);
            dateIntervalCollection.Add(nowAndFiveDaysInterval);
            dateIntervalCollection.Add(twoDaysAndFiveDaysInterval);
            dateIntervalCollection.Add(threeDaysAgoAndTwelveDaysInterval);
            dateIntervalCollection.Add(thirteenDaysAndFourteenDaysInterval);

            var dateIntervalList = new List<DateInterval>
            {
                nowAndTenDaysInterval, nowAndFiveDaysInterval, twoDaysAndFiveDaysInterval, threeDaysAgoAndTwelveDaysInterval, thirteenDaysAndFourteenDaysInterval
            };

            var correctResult = new List<IEndPoint<DateTime>>();

            //Act
            var result = dateIntervalCollection.DateEdges;

            //Assert
            dateIntervalList.ForEach(x => correctResult.AddRange(x.GetEndPoints()));

            CollectionAssert.AreEquivalent(correctResult, result);
        }
        public void OverlapsWith_MultipleDateIntervals_ReturnCorrectAnswer2()
        {
            //Arrange
            var dateIntervalCollection = new DateIntervalCollection();

            dateIntervalCollection.Add(nowAndTenDaysInterval);
            dateIntervalCollection.Add(nowAndFiveDaysInterval);
            dateIntervalCollection.Add(threeDaysAgoAndTwelveDaysInterval);
            dateIntervalCollection.Add(thirteenDaysAndFourteenDaysInterval);

            var correctResult = new List<DateInterval> { nowAndTenDaysInterval, nowAndFiveDaysInterval, threeDaysAgoAndTwelveDaysInterval };

            //Act
            var result = dateIntervalCollection.OverlapsWith(twoDaysAndFiveDaysInterval);

            //Assert
            CollectionAssert.AreEquivalent(correctResult, result);
        }