public void CanAddAndSubtract() { var range1 = new DateTimeRange(_now, _now.AddMinutes(1)); var utcRange = range1.Add(TimeSpan.FromHours(6)); Assert.Equal(_now.AddHours(6), utcRange.Start); Assert.Equal(_now.AddHours(6).AddMinutes(1), utcRange.End); var localRange = utcRange.Subtract(TimeSpan.FromHours(6)); Assert.Equal(_now, localRange.Start); Assert.Equal(_now.AddMinutes(1), localRange.End); }
public void ShouldNotAddWhenRangesAreNotOverlapping() { // For DateTimeRange currentRange = new DateTimeRange { Start = new DateTime(2020, 04, 01), End = new DateTime(2020, 04, 30) }; DateTimeRange newRange = currentRange; // Given DateTimeRange range = new DateTimeRange { Start = new DateTime(2020, 06, 01), End = new DateTime(2020, 06, 30) }; newRange.Add(range); // Assert }
public void ShouldNotAddWhenStartAndEndAreOutsideGivenRange() { // For DateTimeRange currentRange = new DateTimeRange { Start = new DateTime(2020, 04, 01), End = new DateTime(2020, 04, 30) }; DateTimeRange newRange = currentRange; // Given DateTimeRange range = new DateTimeRange { Start = new DateTime(2020, 04, 15), End = new DateTime(2020, 04, 16) }; newRange.Add(range); // Assert Assert.AreEqual(newRange.Start, currentRange.Start); Assert.AreEqual(newRange.End, currentRange.End); }