public void TestGetNextScheduledTimeSingle() { var now = DateTimeOffset.Now; var cron = new CronJobHelper { InternalNow = () => now }; var nextScheduledTime = cron.NextScheduledTime; Assert.NotNull(nextScheduledTime); Assert.Equal(now.Second + 1, nextScheduledTime.Value.Second); }
public void TestGetNextScheduledTimeMultiple() { var now = DateTimeOffset.Now; var cron = new CronJobHelper { InternalNow = () => now }; var nextScheduledTime1 = cron.NextScheduledTime; Assert.NotNull(nextScheduledTime1); Assert.Equal(now.Second + 1, nextScheduledTime1.Value.Second); now = nextScheduledTime1.Value.AddMilliseconds(1); var nextScheduledTime2 = cron.NextScheduledTime; Assert.NotNull(nextScheduledTime2); Assert.Equal(nextScheduledTime1.Value.Second + 1, nextScheduledTime2.Value.Second); }
public void TestGetNextScheduledTimeBetweenRestrictions(int second, bool isValid) { var now = DateTimeOffset.Now; now = now.AddMilliseconds(-now.Millisecond); var cron = new CronJobHelper(now.AddSeconds(3), now.AddSeconds(5)) { InternalNow = () => now }; now = now.AddSeconds(second); if (isValid) { Assert.NotNull(cron.NextScheduledTime); } else { Assert.Null(cron.NextScheduledTime); } }
public void TestGetNextScheduledTimeReturnsNullOnEmptyExpression() { var cron = new CronJobHelper(emptyExpression: true); Assert.Null(cron.NextScheduledTime); }
public void TestGetNextScheduledTimeNotBeforeRestrictionReturnsNull() { var cron = new CronJobHelper(DateTimeOffset.Now.AddSeconds(10)); Assert.Null(cron.NextScheduledTime); }
public void TestGetNextScheduledTimeNotAfterRestrictionReturnsNull() { var cron = new CronJobHelper(dontStartAfter: DateTimeOffset.Now.AddSeconds(-10)); Assert.Null(cron.NextScheduledTime); }