public void WhenNextTimeIsSmallerThanEndTimeOfDay_GetNextTimeAfter_ReturnsNextTime() { // Occur every 2 hours from 10:30 to 18:30 var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = new TimeSpan(0, 10, 30, 0), EndTimeOfDay = new TimeSpan(0, 18, 30, 0), OccurEveryN = 2, OccurenceType = OccurenceTypes.Hour }; // Act. var result = target.GetNextTimeAfter(new TimeSpan(0, 13, 20, 0)); // Assert. Assert.AreEqual(new TimeSpan(0, 15, 20, 0), result); // Occur every 15 min. from 12:00 to 13:00 target = new NTimesPerDayDailyFrequency { StartTimeOfDay = new TimeSpan(0, 12, 0, 0), EndTimeOfDay = new TimeSpan(0, 13, 0, 0), OccurEveryN = 15, OccurenceType = OccurenceTypes.Minute }; // Act. result = target.GetNextTimeAfter(new TimeSpan(0, 12, 45, 0)); // Assert. Assert.AreEqual(new TimeSpan(0, 13, 0, 0), result); // Occur every 30 sec. from 10:00 to 10:02 target = new NTimesPerDayDailyFrequency { StartTimeOfDay = new TimeSpan(0, 10, 0, 0), EndTimeOfDay = new TimeSpan(0, 10, 2, 0), OccurEveryN = 30, OccurenceType = OccurenceTypes.Second }; // Act. result = target.GetNextTimeAfter(new TimeSpan(0, 10, 1, 15)); // Assert. Assert.AreEqual(new TimeSpan(0, 10, 1, 45), result); }
public void WhenAfterTimeIsGreaterThanEndTimeOfDay_GetNextTimeAfter_ReturnsNull() { // Arrange. var afterTime = new TimeSpan(0, 18, 41, 0); var startTime = new TimeSpan(0, 10, 30, 0); var endTime = new TimeSpan(0, 18, 40, 0); var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = startTime, EndTimeOfDay = endTime }; // Act. var result = target.GetNextTimeAfter(afterTime); // Assert. Assert.IsNull(result); }
public void WhenNextTimeIsGreaterThanEndTimeOfDay_GetNextTimeAfter_ReturnsNull() { // Arrange. var afterTime = new TimeSpan(0, 17, 00, 0); var startTime = new TimeSpan(0, 10, 30, 0); var endTime = new TimeSpan(0, 18, 30, 0); // Occur every 2 hours from 10:30 to 18:30 var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = startTime, EndTimeOfDay = endTime, OccurEveryN = 2, OccurenceType = OccurenceTypes.Hour }; // Act. var result = target.GetNextTimeAfter(afterTime); // Assert. Assert.IsNull(result); }
public void WhenAfterTimeIsSmallerThanStartTimeOfDay_GetNextTimeAfter_ReturnsStartTimeOfDay() { // Arrange. var afterTime = new TimeSpan(0, 10, 29, 0); var startTime = new TimeSpan(0, 10, 30, 0); var endTime = new TimeSpan(0, 18, 40, 0); var target = new NTimesPerDayDailyFrequency { StartTimeOfDay = startTime, EndTimeOfDay = endTime }; // Act. var result = target.GetNextTimeAfter(afterTime); // Assert. Assert.AreEqual(startTime, result); }