Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
            }
        }
Example #4
0
        public void TestGetNextScheduledTimeReturnsNullOnEmptyExpression()
        {
            var cron = new CronJobHelper(emptyExpression: true);

            Assert.Null(cron.NextScheduledTime);
        }
Example #5
0
        public void TestGetNextScheduledTimeNotBeforeRestrictionReturnsNull()
        {
            var cron = new CronJobHelper(DateTimeOffset.Now.AddSeconds(10));

            Assert.Null(cron.NextScheduledTime);
        }
Example #6
0
        public void TestGetNextScheduledTimeNotAfterRestrictionReturnsNull()
        {
            var cron = new CronJobHelper(dontStartAfter: DateTimeOffset.Now.AddSeconds(-10));

            Assert.Null(cron.NextScheduledTime);
        }