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