Example #1
0
        public void VerifySimpleOffset(
            [Range(-90, 90, 3)] int offset
        )
        {
            CronExpr cron = new CronExpr("0 0 * * *");
            DateTime nextCron = cron.Next;

            CronTrigger trigger = new CronTrigger(cron);
            trigger.Offset = offset;

            // make sure the trigger and the cron expression match
            DateTime nextTrigger = trigger.NextTime;

            TimeSpan diff = nextTrigger - nextCron;
            Assert.AreEqual(offset, diff.TotalMinutes);

            // TODO the next next time should be ...
        }
Example #2
0
        public void VerifyRandomOffset(
            [Range(-90, 90, 5)] int offset
        )
        {
            CronExpr cron = new CronExpr("0 0 * * *");

            CronTrigger trigger = new CronTrigger(cron);
            trigger.Offset = offset;
            trigger.Randomize = true;

            TimeSpan diff = trigger.NextTime - cron.Next;

            if (offset < 0) {
                Assert.LessOrEqual(offset, diff.TotalMinutes);
            } else if (offset > 0) {
                Assert.LessOrEqual(diff.TotalMinutes, offset);
            } else {
                Assert.AreEqual(0, diff.TotalMinutes);
            }
        }
Example #3
0
        public void SimpleFireTest()
        {
            bool fired = false;

            CronExpr cron = new CronExpr("* * * * * *");
            CronTrigger trigger = new CronTrigger(cron);
            Assert.AreEqual(cron.Next, trigger.NextTime);

            TimeSpan diff = cron.Next - DateTime.Now;
            Assert.LessOrEqual(diff.TotalSeconds, 1);

            trigger.Fire += new EventHandler(delegate {
                fired = true;
            });

            // give the trigger a chance to fire...
            Thread.Sleep((int) diff.TotalMilliseconds);

            Assert.IsTrue(fired, "trigger did not fire in time");
            Assert.LessOrEqual(trigger.LastTime, DateTime.Now);

            trigger.Dispose();
        }
Example #4
0
 ///////////////////////////////////////////////////////////////////////
 public CronTrigger(String expr)
 {
     Expression = new CronExpr(expr);
 }
Example #5
0
 ///////////////////////////////////////////////////////////////////////
 public CronTrigger(CronExpr expr)
 {
     Expression = expr;
 }
Example #6
0
 ///////////////////////////////////////////////////////////////////////
 public CronFilter(String expr)
 {
     Expression = new CronExpr(expr);
 }
Example #7
0
 ///////////////////////////////////////////////////////////////////////
 public CronFilter(CronExpr cron)
 {
     Expression = cron;
 }