public void TestStartEndTimes() { // Grafit found a copy-paste problem from ending time, it was the same as starting time DateTime d = DateTime.Now; DailyCalendar dailyCalendar = new DailyCalendar("1:20", "14:50"); DateTime expectedStartTime = new DateTime(d.Year, d.Month, d.Day, 1, 20, 0); DateTime expectedEndTime = new DateTime(d.Year, d.Month, d.Day, 14, 50, 0); Assert.AreEqual(expectedStartTime, dailyCalendar.GetTimeRangeStartingTimeUtc(d).DateTime); Assert.AreEqual(expectedEndTime, dailyCalendar.GetTimeRangeEndingTimeUtc(d).DateTime); }
public void TestGetFireTimeAfter_WithCalendar() { DailyCalendar dailyCalendar = new DailyCalendar("1:20", "14:50"); SimpleTriggerImpl simpleTrigger = new SimpleTriggerImpl(); simpleTrigger.RepeatInterval = TimeSpan.FromMilliseconds(10); simpleTrigger.RepeatCount = 1; DateTimeOffset neverFireTime = DateBuilder.EvenMinuteDateBefore(dailyCalendar.GetTimeRangeStartingTimeUtc(DateTime.Now)); simpleTrigger.StartTimeUtc = neverFireTime; simpleTrigger.ComputeFirstFireTimeUtc(dailyCalendar); DateTimeOffset?fireTimeAfter = simpleTrigger.GetNextFireTimeUtc(); Assert.IsNull(fireTimeAfter); }
protected override sealed void UpdateUserInterface() { if (TimeFrom.Value >= TimeTo.Value) { TimeTo.Value = TimeFrom.Value.AddSeconds(5); } mCalendar.SetTimeRange(TimeFrom.Value, TimeTo.Value); mCalendar.InvertTimeRange = InvertRange.Checked; // If the property invertTimeRange is false(default), the time range defines a range // of times in which triggers are not allowed to fire. If invertTimeRange is true, the // time range is inverted: that is, all times outside the defined time range are excluded. mCalendar.Description = string.Format("{0} {1} to {2}", mCalendar.InvertTimeRange ? "Including" : "Excluding", mCalendar.GetTimeRangeStartingTimeUtc(new DateTimeOffset()).ToString(TimeFrom.CustomFormat), mCalendar.GetTimeRangeEndingTimeUtc(new DateTimeOffset()).ToString(TimeTo.CustomFormat)); }
public void TestDailyCalendarSerialization() { DailyCalendar dailyCalendar = new DailyCalendar("12:13:14:150", "13:14"); DailyCalendar clone = dailyCalendar.DeepClone(); DateTimeOffset timeRangeStartTimeUtc = clone.GetTimeRangeStartingTimeUtc(DateTimeOffset.UtcNow); Assert.AreEqual(12, timeRangeStartTimeUtc.Hour); Assert.AreEqual(13, timeRangeStartTimeUtc.Minute); Assert.AreEqual(14, timeRangeStartTimeUtc.Second); Assert.AreEqual(150, timeRangeStartTimeUtc.Millisecond); DateTimeOffset timeRangeEndingTimeUtc = clone.GetTimeRangeEndingTimeUtc(DateTimeOffset.UtcNow); Assert.AreEqual(13, timeRangeEndingTimeUtc.Hour); Assert.AreEqual(14, timeRangeEndingTimeUtc.Minute); Assert.AreEqual(0, timeRangeEndingTimeUtc.Second); Assert.AreEqual(0, timeRangeEndingTimeUtc.Millisecond); }