예제 #1
0
        public void ShouldGetScheduleBuilderWithSameSettingsAsTrigger()
        {
            var startTime      = DateTimeOffset.UtcNow;
            var endTime        = DateTimeOffset.UtcNow.AddDays(1);
            var startTimeOfDay = new TimeOfDay(1, 2, 3);
            var endTimeOfDay   = new TimeOfDay(3, 2, 1);
            var trigger        = new DailyTimeIntervalTriggerImpl("name", "group", startTime, endTime, startTimeOfDay, endTimeOfDay, IntervalUnit.Hour, 10);

            trigger.RepeatCount = 12;
            trigger.DaysOfWeek  = new List <DayOfWeek>
            {
                DayOfWeek.Thursday
            };
            trigger.MisfireInstruction = MisfireInstruction.DailyTimeIntervalTrigger.FireOnceNow;
            trigger.TimeZone           = TimeZoneInfo.Utc;

            var scheduleBuilder = trigger.GetScheduleBuilder();

            var cloned = (DailyTimeIntervalTriggerImpl)scheduleBuilder.Build();

            CollectionAssert.AreEqual(cloned.DaysOfWeek, trigger.DaysOfWeek);
            Assert.That(cloned.RepeatCount, Is.EqualTo(trigger.RepeatCount));
            Assert.That(cloned.RepeatInterval, Is.EqualTo(trigger.RepeatInterval));
            Assert.That(cloned.RepeatIntervalUnit, Is.EqualTo(trigger.RepeatIntervalUnit));
            Assert.That(cloned.StartTimeOfDay, Is.EqualTo(trigger.StartTimeOfDay));
            Assert.That(cloned.EndTimeOfDay, Is.EqualTo(trigger.EndTimeOfDay));
            Assert.That(cloned.TimeZone, Is.EqualTo(trigger.TimeZone));
        }