public void TestBadSchedule() { var jobSchedule = new JobSchedule(); var nextExecutionTime = jobSchedule.GetNextExecution(DateTime.UtcNow); Assert.That(!nextExecutionTime.HasValue, "Empty schedule entry should have no next execution time"); }
public void TestSunday() { var now = DateTime.UtcNow; var timeOfDaySeconds = JobSchedule.TimeSeconds(now); var execNow = now.Date.AddDays(6 - (int)now.DayOfWeek).Add(JobSchedule.TimeOfDay(timeOfDaySeconds)); var jobsSchedule = new JobSchedule() { ExecutionTime = timeOfDaySeconds, ExecutionSchedule = 1 }; var nextExecutionTime = jobsSchedule.GetNextExecution(execNow); var expectedResult = execNow.AddDays(1); Assert.That(nextExecutionTime.Equals(expectedResult), string.Format("Expected next execution time of {0}, got {1}", expectedResult, nextExecutionTime)); }
public void TestEverydayExecution() { var now = DateTime.UtcNow; var timeOfDaySeconds = JobSchedule.TimeSeconds(now); var execNow = now.Date.Add(JobSchedule.TimeOfDay(timeOfDaySeconds)); var jobSchedule = new JobSchedule() { ExecutionTime = timeOfDaySeconds, // 0111 1111 in hex ExecutionSchedule = 0x7F }; var nextExecutionTime = jobSchedule.GetNextExecution(execNow); var expectedResult = execNow.AddDays(1); Assert.That(nextExecutionTime.Equals(expectedResult), string.Format("Expected next execution time of {0}, got {1}", expectedResult, nextExecutionTime)); }