Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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);
        }