コード例 #1
0
ファイル: YearTests.cs プロジェクト: Rachitman/ScheduleWidget
        public void YearTest2()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 2",
                FrequencyTypeOptions = FrequencyTypeEnum.Yearly,
                Anniversary = new Anniversary()
                {
                    Month = 9,
                    Day = 27
                }
            };

            var schedule = new Schedule(aEvent);
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 9, 27)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 9, 27)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 9, 27)));

            var range = new DateRange()
            {
                StartDateTime = new DateTime(2012, 1, 1),
                EndDateTime = new DateTime(2016, 12, 31)
            };

            var occurrences = schedule.Occurrences(range);

            Assert.AreEqual(5, occurrences.Count());
            Assert.AreEqual(new DateTime(2012, 9, 27), occurrences.First());
            Assert.AreEqual(new DateTime(2016, 9, 27), occurrences.Last());
        }
コード例 #2
0
        public void WeeklyEventOnEveryMonWedFriTest()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Weekly on Monday, Wednesday, Friday",
                Frequency = 64,        // weekly on Monday, Wednesday, Friday
                DaysOfWeek = 42,      // every Mon, Wed and Fri
                StartDateTime = new DateTime(2013, 8, 2)
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 2)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 3)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 4)));

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 5)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 6)));

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 7)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 8)));

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 9)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 10)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 11)));
        }
コード例 #3
0
ファイル: BasicTest.cs プロジェクト: willemda/ScheduleWidget
 public void RecurringScheduleIsOccurringTest1()
 {
     var aEvent = CreateRecurringEvent();
     var schedule = new Schedule(aEvent);
     Assert.IsNotNull(schedule);
     Assert.IsTrue(schedule.IsOccurring(new DateTime(2012, 10, 1)));
     Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 1, 18)));
 }
コード例 #4
0
        public void EventOptionsIndependenceDayTest()
        {
            var holidays = GetHolidays();
            var aEvent = CreateStreetCleaningEvent();
            var schedule = new Schedule(aEvent, holidays);

            Assert.IsNotNull(holidays);
            Assert.IsNotNull(aEvent);
            Assert.IsNotNull(schedule);
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2012, 7, 4)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2016, 7, 4)));
        }
コード例 #5
0
ファイル: BasicTest.cs プロジェクト: hoopkjaz/ScheduleWidget
 public void SimpleScheduleIsOccurringTest2()
 {
     var aEvent = CreateTodayEvent();
     var schedule = new Schedule(aEvent);
     Assert.IsNotNull(schedule);
     Assert.IsFalse(schedule.IsOccurring(DateTime.Today.AddDays(1)));
 }
コード例 #6
0
        public void EventOptionsLaborDayTest()
        {
            var holidays = GetHolidays();
            var aEvent = CreateStreetCleaningEvent();
            var schedule = new Schedule(aEvent, holidays);

            Assert.IsNotNull(holidays);
            Assert.IsNotNull(aEvent);
            Assert.IsNotNull(schedule);

            // Labor Day
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2012, 9, 3)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 9, 2)));
            // Third Monday in Sep
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 9, 15)));
        }
コード例 #7
0
        public void AnniversaryTest2()
        {
            var anniversary = new Anniversary()
            {
                Day = 5,
                Month = 6
            };

            var aEvent = new Event()
            {
                ID = 1,
                Title = "Give Flowers to Wife",
                Frequency = 16, // yearly
                Anniversary = anniversary
            };

            var schedule = new Schedule(aEvent);
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2009, 6, 4)));

            var range = new DateRange()
            {
                StartDateTime = new DateTime(2010, 1, 1),
                EndDateTime = new DateTime(2020, 12, 31)
            };

            var occurrences = schedule.Occurrences(range).ToList();
            Assert.IsTrue(occurrences.Count.Equals(11));
        }
コード例 #8
0
        public void MonthTest1()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 1",
                FrequencyTypeOptions = FrequencyTypeEnum.Monthly,
                MonthlyIntervalOptions = MonthlyIntervalEnum.EveryWeek,
                DaysOfWeekOptions = DayOfWeekEnum.Mon | DayOfWeekEnum.Fri
            };

            var range = new DateRange()
            {
                StartDateTime = new DateTime(2013, 1, 15),
                EndDateTime = new DateTime(2013, 4, 30)
            };

            var occurringDate = new DateTime(2013, 1, 21);

            var schedule = new Schedule(aEvent);
            Assert.IsTrue(schedule.IsOccurring(occurringDate));

            var previousOccurrence = schedule.PreviousOccurrence(occurringDate, range);
            Assert.AreEqual(new DateTime(2013, 1, 18), previousOccurrence.Value);

            var nextOccurrence = schedule.NextOccurrence(occurringDate, range);
            Assert.AreEqual(new DateTime(2013, 1, 25), nextOccurrence.Value);

            var occurrences = schedule.Occurrences(range);

            Assert.AreEqual(30, occurrences.Count());
            Assert.AreEqual(new DateTime(2013, 1, 18), occurrences.First());
            Assert.AreEqual(new DateTime(2013, 4, 29), occurrences.Last());
        }
コード例 #9
0
ファイル: BasicTest.cs プロジェクト: hoopkjaz/ScheduleWidget
 public void SimpleScheduleIsOccurringTest1()
 {
     var aEvent = CreateTodayEvent();
     var schedule = new Schedule(aEvent);
     Assert.IsNotNull(schedule);
     Assert.IsTrue(schedule.IsOccurring(DateTime.Today));
 }
コード例 #10
0
        public void DailyEventTest1()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 1",
                Frequency = 1,        // daily
                MonthlyInterval = 0,  // not applicable
                DaysOfWeek = 127      // every day of week
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 2, 10)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 4, 29)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 11, 17)));
        }
コード例 #11
0
        public void DailyEventTest3()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 3",
                FrequencyTypeOptions = FrequencyTypeEnum.Daily,
                RepeatInterval = 4,
                StartDateTime = new DateTime(2013, 1, 3)
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 1, 7)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 1, 12)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 2, 4)));
        }
コード例 #12
0
        public void DailyEventTest2()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 2",
                RangeInYear = null,
                Frequency = 1,        // daily
                MonthlyInterval = 0,  // not applicable
                DaysOfWeek = 16       // Thursday
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 2, 14)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 4, 25)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 11, 7)));
        }
コード例 #13
0
ファイル: YearTests.cs プロジェクト: Rachitman/ScheduleWidget
        public void YearTest1()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 1",
                FrequencyTypeOptions = FrequencyTypeEnum.Yearly,
                Anniversary = new Anniversary()
                {
                    Month = 9,
                    Day = 27
                }
            };

            var schedule = new Schedule(aEvent);
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 9, 27)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 9, 27)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 9, 27)));
        }
コード例 #14
0
        public void SimpleExcludedDayTest2()
        {
            // first Mon of Sep
            var excludedDay = new DateTime(2012, 9, 3);
            var aEvent = CreateRecurringEvent();
            var excludedDates = new List<DateTime>()
            {
                excludedDay
            };

            var schedule = new Schedule(aEvent, excludedDates);
            Assert.IsNotNull(schedule);
            Assert.IsFalse(schedule.IsOccurring(excludedDay));
        }
コード例 #15
0
        public void FineGrainedRangeInYearTest()
        {
            var holidays = GetHolidays();
            var aEvent = CreateFineGrainedStreetCleaningEvent();
            var schedule = new Schedule(aEvent, holidays);

            Assert.IsNotNull(holidays);
            Assert.IsNotNull(aEvent);
            Assert.IsNotNull(schedule);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 6, 20)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 5, 16)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 6, 6)));

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2018, 10, 15)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2018, 11, 5)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2018, 1, 1)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2018, 2, 5)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2018, 3, 19)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 11, 1)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 12, 1)));
        }
コード例 #16
0
        public void OneTimeOnlyTest1()
        {
            var laborDay = new DateTime(2012, 9, 1);

            var aEvent = new Event()
            {
                ID = 1,
                Title = "Labor Day Extravaganza",
                Frequency = 0,        // one-time only
                OneTimeOnlyEventDate = laborDay,
                MonthlyInterval = 0,  // not applicable
                DaysOfWeek = 0        // not applicable
            };

            var schedule = new Schedule(aEvent);
            Assert.IsTrue(schedule.IsOccurring(laborDay));
        }
コード例 #17
0
        public void AnniversaryTest1()
        {
            var anniversary = new Anniversary()
            {
                Day = 1,
                Month = 8
            };

            var aEvent = new Event()
            {
                ID = 1,
                Title = "Daughter's Birthday",
                Frequency = 16, // yearly
                Anniversary = anniversary
            };

            var schedule = new Schedule(aEvent);
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2008, 8, 1)));
        }
コード例 #18
0
        public void EventOptionsIsOccurringTest()
        {
            var holidays = GetHolidays();
            var aEvent = CreateStreetCleaningEvent();
            var schedule = new Schedule(aEvent, holidays);

            Assert.IsNotNull(holidays);
            Assert.IsNotNull(aEvent);
            Assert.IsNotNull(schedule);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 6, 20)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 5, 16)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 6, 6)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2018, 1, 1)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2018, 2, 5)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2018, 3, 19)));
        }
コード例 #19
0
        public void WeeklyEventTest2()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Every Mon Wed Fri",
                Frequency = 2,        // weekly
                MonthlyInterval = 0,  // not applicable
                DaysOfWeek = 42      // every Mon, Wed and Fri
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 2, 8)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 11, 25)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 6, 16)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2012, 10, 12)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2012, 8, 9))); // Thu
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 2, 5))); // Tue
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 7, 5))); // Sat
        }
コード例 #20
0
        public void MonthTest2()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 2",
                FrequencyTypeOptions = FrequencyTypeEnum.Monthly,
                RepeatInterval = 2,
                MonthlyIntervalOptions = MonthlyIntervalEnum.Last,
                DaysOfWeekOptions = DayOfWeekEnum.Mon | DayOfWeekEnum.Fri,
                StartDateTime = new DateTime(2013, 1, 15)
            };

            var range = new DateRange()
            {
                StartDateTime = aEvent.StartDateTime.Value,
                EndDateTime = new DateTime(2013, 4, 30)
            };

            var nonOccurringDate = new DateTime(2013, 1, 29);

            var schedule = new Schedule(aEvent);
            Assert.IsFalse(schedule.IsOccurring(nonOccurringDate));

            var previousOccurrence = schedule.PreviousOccurrence(nonOccurringDate, range);
            Assert.AreEqual(new DateTime(2013, 1, 28), previousOccurrence.Value);

            var nextOccurrence = schedule.NextOccurrence(nonOccurringDate, range);
            Assert.AreEqual(new DateTime(2013, 3, 25), nextOccurrence.Value);

            var occurrences = schedule.Occurrences(range);

            Assert.AreEqual(4, occurrences.Count());
            Assert.AreEqual(new DateTime(2013, 1, 25), occurrences.First());
            Assert.AreEqual(new DateTime(2013, 3, 29), occurrences.Last());
        }
コード例 #21
0
        public void WeeklyEventTest3()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Every 2nd week on Mon Wed Fri",
                Frequency = 2,        // weekly
                MonthlyInterval = 0,  // not applicable
                DaysOfWeek = 44,      // every Tue, Wed and Fri
                WeeklyInterval = 2, // every 2nd week
                FirstDateTime = new DateTime(2013, 1, 1) // start date on a Tue
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 1, 1)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 1, 15)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 2, 12)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 12, 17)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 1, 14)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 1, 8))); // 1st week
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 1, 14))); // 2nd week but Mon
        }
コード例 #22
0
        public void WeeklyEventTest1()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Every Mon and Wed",
                Frequency = 2,        // weekly
                MonthlyInterval = 0,  // not applicable
                DaysOfWeek = 10      // every Mon and Wed
            };

            var schedule = new Schedule(aEvent);

            // NOTE: If daily then date range doesn't matter
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 2, 8)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 11, 25)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 6, 16)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2012, 8, 9))); // Thu
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 2, 5))); // Tue
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 7, 5))); // Sat
        }
コード例 #23
0
        public void WeeklyEventOnEveryTueThuTest()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Weekly on Tuesday and Thursday",
                Frequency = 128,        // weekly on Tuesday and Thursday
                DaysOfWeek = 20,      // every Tuesday and Thursday
                FirstDateTime = new DateTime(2013, 8, 1)
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 1)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 2)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 3)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 4)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 5)));

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 6)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 7)));

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 8)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 9)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 10)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 11)));

        }
コード例 #24
0
        public void DailyEventTest5()
        {
            var aEvent = new Event()
            {
                ID = 5,
                Title = "Event 5",
                FrequencyTypeOptions = FrequencyTypeEnum.Daily,
                RepeatInterval = 1,
                StartDateTime = new DateTime(2013, 8, 8)
            };

            var schedule = new Schedule(aEvent);

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 5)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 6)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 7)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 8)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 9)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 10)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 11)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 12)));
        }
コード例 #25
0
        public void DailyEventTest4()
        {
            var holidays = new UnionTE();
            holidays.Add(new FixedHolidayTE(2, 4));

            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 4",
                FrequencyTypeOptions = FrequencyTypeEnum.Daily,
                RepeatInterval = 4,
                StartDateTime = new DateTime(2013, 1, 3)
            };

            var schedule = new Schedule(aEvent, holidays);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 1, 7)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 1, 13)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 2, 4)));
        }
コード例 #26
0
ファイル: YearTests.cs プロジェクト: Rachitman/ScheduleWidget
        public void YearTest4()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 4",
                FrequencyTypeOptions = FrequencyTypeEnum.Yearly,
                StartDateTime = new DateTime(2013, 9, 28),
                RepeatInterval = 2,
                Anniversary = new Anniversary()
                {
                    Month = 9,
                    Day = 27
                }
            };

            var schedule = new Schedule(aEvent);
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 9, 27)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 9, 27)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 9, 27)));
        }
コード例 #27
0
        public void WeeklyEventWeeklyOnWeekdaysTest2()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Every weekday (Monday to Friday)",
                Frequency = 32,        // every weekday (Monday to Friday)
                DaysOfWeek = 62,      // every Mon, Tue, Wed, Thu and Fri,
                WeeklyInterval = 1,
                FirstDateTime = new DateTime(2013, 8, 5)
            };

            var schedule = new Schedule(aEvent);

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 7, 29)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 7, 30)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 7, 31)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 1)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 2)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 3)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 4)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 5)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 6)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 7)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 8)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2013, 8, 9)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2013, 8, 10)));

        }
コード例 #28
0
        public void QuarterlyEventTest2()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Quarterly, Third Quarter, Second Month, Second Week, Wednesday",
                Frequency = 8, // quarterly
                QuarterInterval = 4, // third quarter
                QuarterlyInterval = 2, // 2nd month of quarter
                MonthlyInterval = 2, // 2nd week of the month
                DaysOfWeek = 8 // Wednesday
            };

            var schedule = new Schedule(aEvent);

            // check 2014: expect Aug. 13th 2014 (Wed)
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 8, 13)), "expect match for Aug. 6th");
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 8, 20)), "wrong match - 1W too late");
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 7, 6)), "wrong match - 1W too early");

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 8, 12)), "expect match for Aug. 5th");
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 8, 10)), "expect match for Aug. 10th");
        }
コード例 #29
0
        public void QuarterlyEventTest1()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Quarterly, First Quarter, First Month, Last Week, Friday",
                Frequency = 8, // quarterly
                QuarterInterval = 1, // first quarter
                QuarterlyInterval = 1, // first month of quarter
                MonthlyInterval = 16, // last week of the month
                DaysOfWeek = 32 // Friday
            };

            var schedule = new Schedule(aEvent);

            // check 2014: expect Jan 31st 2014 (Friday)

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2014, 1, 31)), "expect match for Jan. 31st");
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 1, 24)), "wrong match - 1W too early"); // Fri before
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 2, 7)), "wrong match - 1W too late"); // Fri after

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 1, 30)), "expect match for Jan. 30th");
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2016, 1, 29)), "expect match for Jan. 29th");
        }
コード例 #30
0
        public void WeeklyEventFirstDayOfWeekMonday()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Every 2nd week. First day of week Monday",
                Frequency = 2,        // Weekly
                DaysOfWeek = 127,      // Every day
                RepeatInterval = 2,
                FirstDayOfWeek = Enums.DayOfWeekEnum.Mon,
                StartDateTime = new DateTime(2015, 1, 1)
            };

            var schedule = new Schedule(aEvent);

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 1, 1)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 1, 2)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 1, 3)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 1, 4)));

            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 1, 5)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 1, 6)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 1, 7)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 1, 8)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 1, 9)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 1, 10)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2015, 1, 11)));

            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 1, 12)));
        }