public void ClonePerformsADeepCopy(bool useGenericClonable) { DateTime now = DateTime.UtcNow; DailyFireWindow window = new DailyFireWindow(3, 13); DailyPeriodicWindowTrigger trigger = new DailyPeriodicWindowTrigger(now, DateTime.MaxValue, window, TimeSpan.MaxValue, 42); trigger.MisfireAction = TriggerScheduleAction.DeleteJob; trigger.MisfireThreshold = TimeSpan.MaxValue; trigger.Schedule(TriggerScheduleCondition.Latch, now, null); DailyPeriodicWindowTrigger clone = useGenericClonable ? (DailyPeriodicWindowTrigger)trigger.Clone() : (DailyPeriodicWindowTrigger)((ICloneable)trigger).Clone(); Assert.AreNotSame(trigger, clone); Assert.AreEqual(trigger.StartTimeUtc, clone.StartTimeUtc); Assert.AreEqual(trigger.EndTimeUtc, clone.EndTimeUtc); Assert.AreEqual(trigger.Period, clone.Period); Assert.AreEqual(trigger.JobExecutionCountRemaining, clone.JobExecutionCountRemaining); Assert.AreEqual(trigger.MisfireAction, clone.MisfireAction); Assert.AreEqual(trigger.MisfireThreshold, clone.MisfireThreshold); Assert.AreEqual(trigger.IsFirstTime, clone.IsFirstTime); Assert.AreEqual(trigger.IsActive, clone.IsActive); Assert.AreEqual(trigger.NextFireTimeUtc, clone.NextFireTimeUtc); Assert.AreEqual(trigger.NextMisfireThreshold, clone.NextMisfireThreshold); Assert.AreEqual(trigger.DailyFireWindow.StartHour, clone.DailyFireWindow.StartHour); Assert.AreEqual(trigger.DailyFireWindow.EndHour, clone.DailyFireWindow.EndHour); }
public void Schedule(string utcFireTime, TriggerScheduleAction expectedAction, int expectedRemainingJobCount) { var startDate = new DateTime(2000, 3, 14); DateTime?endDate = new DateTime(2001, 3, 14); var dailyFireWindow = new DailyFireWindow(3, 16); TimeSpan?interval = new TimeSpan(0, 1, 0); int? jobExecutionCount = 33; var trigger = new DailyPeriodicWindowTrigger(startDate, endDate, dailyFireWindow, interval, jobExecutionCount); var triggerScheduleAction = trigger.Schedule(TriggerScheduleCondition.Fire, DateTime.Parse(utcFireTime), null); Assert.AreEqual(expectedAction, triggerScheduleAction); Assert.AreEqual(expectedRemainingJobCount, trigger.JobExecutionCountRemaining); }
public void ConstructorSetsProperties() { DailyFireWindow window = new DailyFireWindow(3, 13); TimeSpan? interval = new TimeSpan(0, 1, 45); DailyPeriodicWindowTrigger trigger = new DailyPeriodicWindowTrigger(new DateTime(2000, 3, 14), new DateTime(2001, 3, 14), window, interval, 33); DateTimeAssert.AreEqualIncludingKind(new DateTime(2000, 3, 14, 0, 0, 0, DateTimeKind.Utc), trigger.StartTimeUtc); Assert.AreEqual(interval, trigger.Period); Assert.AreEqual(DailyPeriodicWindowTrigger.DefaultMisfireAction, trigger.MisfireAction); Assert.AreEqual(null, trigger.MisfireThreshold); DateTimeAssert.AreEqualIncludingKind(new DateTime(2001, 3, 14, 0, 0, 0, DateTimeKind.Utc), trigger.EndTimeUtc); Assert.AreEqual(33, trigger.JobExecutionCountRemaining); Assert.IsTrue(trigger.IsFirstTime); Assert.AreEqual(3, trigger.DailyFireWindow.StartHour); Assert.AreEqual(13, trigger.DailyFireWindow.EndHour); }
public void Schedule(string utcFireTime, TriggerScheduleAction expectedAction, int expectedRemainingJobCount) { var startDate = new DateTime(2000, 3, 14); DateTime? endDate = new DateTime(2001, 3, 14); var dailyFireWindow = new DailyFireWindow(3, 16); TimeSpan? interval = new TimeSpan(0, 1, 0); int? jobExecutionCount = 33; var trigger = new DailyPeriodicWindowTrigger(startDate, endDate, dailyFireWindow, interval, jobExecutionCount); var triggerScheduleAction = trigger.Schedule(TriggerScheduleCondition.Fire, DateTime.Parse(utcFireTime), null); Assert.AreEqual(expectedAction, triggerScheduleAction); Assert.AreEqual(expectedRemainingJobCount, trigger.JobExecutionCountRemaining); }
public void ConstructorSetsProperties() { DailyFireWindow window = new DailyFireWindow(3, 13); TimeSpan? interval = new TimeSpan(0, 1, 45); DailyPeriodicWindowTrigger trigger = new DailyPeriodicWindowTrigger(new DateTime(2000, 3, 14), new DateTime(2001, 3, 14), window, interval, 33); DateTimeAssert.AreEqualIncludingKind(new DateTime(2000, 3, 14, 0, 0, 0, DateTimeKind.Utc), trigger.StartTimeUtc); Assert.AreEqual(interval, trigger.Period); Assert.AreEqual(DailyPeriodicWindowTrigger.DefaultMisfireAction, trigger.MisfireAction); Assert.AreEqual(null, trigger.MisfireThreshold); DateTimeAssert.AreEqualIncludingKind(new DateTime(2001, 3, 14, 0,0,0, DateTimeKind.Utc), trigger.EndTimeUtc); Assert.AreEqual(33, trigger.JobExecutionCountRemaining); Assert.IsTrue(trigger.IsFirstTime); Assert.AreEqual(3, trigger.DailyFireWindow.StartHour); Assert.AreEqual(13, trigger.DailyFireWindow.EndHour); }