public void Should_be_able_to_satisfy_asterisk_value()
        {
            var field = new CronMinute("*");

            var date = new DateTime(2011, 01, 01, 0, 0, 0);

            for (var i = 0; i < 60; i++)
            {
                Assert.AreEqual(date, field.SnapForward(date));

                date = date.AddMinutes(1);
            }
        }
        public void Should_be_able_to_satisfy_asterisk_value()
        {
            var field = new CronMinute("*");

            var date = new DateTime(2011, 01, 01, 0, 0, 0);

            for (var i = 0; i < 60; i++)
            {
                Assert.AreEqual(date, field.GetNext(date));

                date = date.AddMinutes(1);
            }
        }
        public void Should_be_able_to_satisfy_a_stepped_values()
        {
            var field = new CronMinute("5-10/5");

            var control = new DateTime(2011, 01, 01, 0, 0, 0);
            var date = field.SnapForward(control);

            Assert.AreEqual(control.AddMinutes(5), date);
            date = field.SnapForward(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(10), date);
            date = field.SnapForward(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(65), date);
        }
        public void Should_be_able_to_satisfy_a_stepped_values()
        {
            var field = new CronMinute("5-10/5");

            var control = new DateTime(2011, 01, 01, 0, 0, 0);
            var date    = field.GetNext(control);

            Assert.AreEqual(control.AddMinutes(5), date);
            date = field.GetNext(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(10), date);
            date = field.GetNext(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(65), date);
        }
        public void Should_be_able_to_satisfy_individual_values()
        {
            var field = new CronMinute("5,10,15,30,45");

            var control = new DateTime(2011, 01, 01, 0, 0, 0);
            var date = field.SnapForward(control);

            Assert.AreEqual(control.AddMinutes(5), date);
            date = field.SnapForward(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(10), date);
            date = field.SnapForward(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(15), date);
            date = field.SnapForward(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(30), date);
            date = field.SnapForward(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(45), date);
            date = field.SnapForward(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(65), date);
        }
        public void Should_be_able_to_satisfy_individual_values()
        {
            var field = new CronMinute("5,10,15,30,45");

            var control = new DateTime(2011, 01, 01, 0, 0, 0);
            var date    = field.GetNext(control);

            Assert.AreEqual(control.AddMinutes(5), date);
            date = field.GetNext(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(10), date);
            date = field.GetNext(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(15), date);
            date = field.GetNext(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(30), date);
            date = field.GetNext(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(45), date);
            date = field.GetNext(date.AddMinutes(1));

            Assert.AreEqual(control.AddMinutes(65), date);
        }