public void ShouldUpdateNextTimeWhenTriggerIsAdded() { var trigger = new ExactTimeTrigger(DateTime.Now.AddHours(2)); _task.AddTrigger(trigger); _task.NextTime.ShouldBe(trigger.NextTime); }
public void ShouldRearrangeTriggersOnAdd() { var later = new ExactTimeTrigger(DateTime.Now.AddHours(5)); var earlier = new ExactTimeTrigger(DateTime.Now.AddHours(2)); _task.AddTrigger(later); _task.AddTrigger(earlier); _task.NextTime.ShouldBe(earlier.NextTime); }
public void ShouldRearrangeTriggersOnUpdate() { // arrange var now = DateTime.Now; var daily = new DailyTrigger(new TimeSpan(now.TimeOfDay.Hours, now.TimeOfDay.Minutes, now.TimeOfDay.Seconds).Add(TimeSpan.FromSeconds(5))); var exact = new ExactTimeTrigger(now.AddSeconds(3)); // act _task.AddTrigger(daily); _task.AddTrigger(exact); Assert.AreEqual(exact.NextTime, _task.NextTime); Thread.Sleep(10000); _task.UpdateNextTime(); // assert _task.NextTime.ShouldBe(daily.NextTime); }