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)));
        }
        public void OneTimeOnlyTest2()
        {
            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);

            var range = new DateRange()
            {
                StartDateTime = new DateTime(2012, 8, 1),
                EndDateTime = new DateTime(2012, 10, 1)
            };

            var occurrences = schedule.Occurrences(range);
            var count = 0;
            using (var items = occurrences.GetEnumerator())
            {
                while (items.MoveNext())
                    count++;
            }

            Assert.IsTrue(count > 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)));
        }
        /// <summary>
        /// The canonical Critical Mass monthly bicycle ride
        /// </summary>
        public static void Run()
        {
            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Running monthly scenario 1.");
            Console.WriteLine(Environment.NewLine);

            var aEvent = new Event()
            {
                ID = 1,
                Title = "Critical Mass",
                FrequencyTypeOptions = FrequencyTypeEnum.Monthly,
                MonthlyIntervalOptions = MonthlyIntervalEnum.Last,
                DaysOfWeekOptions = DayOfWeekEnum.Fri
            };

            var during = new DateRange()
            {
                StartDateTime = new DateTime(2013, 12, 1),
                EndDateTime = new DateTime(2013, 12, 31)
            };

            var schedule = new Schedule(aEvent);
            var dates = schedule.Occurrences(during);
            foreach (var date in dates)
            {
                Console.WriteLine(date.ToShortDateString());
            }

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Printed out all dates between {0} and {1}", 
                during.StartDateTime.ToShortDateString(), 
                during.EndDateTime.ToShortDateString());
        }
Beispiel #5
0
        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());
        }
        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));
        }
Beispiel #7
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());
        }
        private static ISchedule GetSchedule()
        {
            var schedule = new Schedule();
            var firstExpression = BuildStreetCleaningTemporalExpression();
            var firstScheduledEvent = new Event()
            {
                ID = 1,
                Title = "Street Cleaning",
                DateRange = new DateRange()
                {
                    StartDateTime = new DateTime(2011, 3, 1, 0, 0, 0),
                    EndDateTime = new DateTime(2011, 10, 30, 18, 0, 0)
                }
            };

            var secondExpression = BuildWitchingHourPrepTemporalExpression();
            var secondScheduledEvent = new Event()
            {
                ID = 2,
                Title = "Witching Hour Preparation",
                DateRange = new DateRange()
                {
                    StartDateTime = new DateTime(2012, 10, 1, 0, 0, 0),
                    EndDateTime = new DateTime(2012, 10, 31, 0, 0, 0)
                }
            };

            schedule.Add(firstScheduledEvent, firstExpression);
            schedule.Add(secondScheduledEvent, secondExpression);
            return schedule;
        }
        public static void Run()
        {
            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Running daily scenario 1 with a StartDateTime value of 12/1/2013");
            Console.WriteLine(Environment.NewLine);

            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 1",
                Frequency = 1,        // daily
                MonthlyInterval = 0,  // not applicable
                DaysOfWeek = 127,     // every day of week
                StartDateTime = new DateTime(2013, 12, 1)
            };

            var during = new DateRange()
            {
                StartDateTime = new DateTime(2013, 12, 1),
                EndDateTime = new DateTime(2013, 12, 31)
            };

            var schedule = new Schedule(aEvent);
            var dates = schedule.Occurrences(during);
            foreach (var date in dates)
            {
                Console.WriteLine(date.ToShortDateString());
            }

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Printed out all dates between {0} and {1}",
                during.StartDateTime.ToShortDateString(),
                during.EndDateTime.ToShortDateString());
        }
        public void LastOccurrenceTest1()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Daily, 3 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Daily,
                NumberOfOccurrences = 3,
                FirstDateTime = new DateTime(2013, 7, 29)
            };

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2013, 7, 31));
        }
        public void LastOccurrenceTest2()
        {
            var aEvent = new Event()
            {
                ID = 2,
                Title = "Every 2 days, 3 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Daily,
                NumberOfOccurrences = 3,
                DayInterval = 2,
                FirstDateTime = new DateTime(2013, 7, 29)
            };

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2013, 8, 2));
        }
        public void LastOccurrenceTest3()
        {
            var aEvent = new Event()
            {
                ID = 3,
                Title = "Weekly on Monday, Tuesday, 3 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Weekly,
                DaysOfWeek = 6,
                NumberOfOccurrences = 3,
                FirstDateTime = new DateTime(2013, 7, 29)
            };

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2013, 8, 5));
        }
        public void LastOccurrenceTest10()
        {
            var aEvent = new Event()
            {
                ID = 10,
                Title = "Annually on July 29, 2 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Yearly,
                Anniversary = new Anniversary { Day = 29, Month = 7 },
                StartDateTime = new DateTime(2013, 7, 29)
            };
            aEvent.SetEndDateWithNumberOfOccurrences(2);

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2014, 7, 29));
        }
        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)));
        }
        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));
        }
Beispiel #16
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)));
        }
        public void LastOccurrenceTest4()
        {
            var aEvent = new Event()
            {
                ID = 4,
                Title = "Every 2 weeks on Monday, Tuesday, Wednesday, 10 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Weekly,
                DaysOfWeek = 14,
                WeeklyInterval = 2,
                NumberOfOccurrences = 10,
                FirstDateTime = new DateTime(2013, 7, 29)
            };

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2013, 9, 9));
        }
        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)));
        }
        public void TestMontlyCalendar()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Critical Mass",
                FrequencyTypeOptions = FrequencyTypeEnum.Monthly,
                MonthlyIntervalOptions = MonthlyIntervalEnum.First,
                DaysOfWeekOptions = DayOfWeekEnum.Fri
            }; var schedule = new Schedule(aEvent);
            var range = new DateRange()
            {
                StartDateTime = DateTime.Now,
                EndDateTime = DateTime.Now.AddYears(1)
            };
            var occurrences = schedule.Occurrences(range);

        }
        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)));
        }
Beispiel #21
0
        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)));
        }
Beispiel #22
0
        public void YearTest3()
        {
            var aEvent = new Event()
            {
                ID = 1,
                Title = "Event 3",
                FrequencyTypeOptions = FrequencyTypeEnum.Yearly,
                StartDateTime = new DateTime(2013, 9, 27),
                RepeatInterval = 2,
                Anniversary = new Anniversary()
                {
                    Month = 9,
                    Day = 27
                }
            };

            var schedule = new Schedule(aEvent);
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2014, 9, 27)));
            Assert.IsTrue(schedule.IsOccurring(new DateTime(2015, 9, 27)));
            Assert.IsFalse(schedule.IsOccurring(new DateTime(2016, 9, 27)));
        }
Beispiel #23
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
        }
Beispiel #24
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
        }
Beispiel #25
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());
        }
Beispiel #26
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
        }
        public void LastOccurrenceTest5()
        {
            var aEvent = new Event()
            {
                ID = 5,
                Title = "Monthly on day 29, 3 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Monthly,
                DayOfMonth = 29,
                NumberOfOccurrences = 3,
                FirstDateTime = new DateTime(2013, 7, 29)
            };

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2013, 9, 29));
        }
        public void LastOccurrenceTest11()
        {
            var aEvent = new Event()
            {
                ID = 10,
                Title = "Every 2 years on July 29, 2 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Yearly,
                NumberOfOccurrences = 2,
                YearInterval = 2,
                Anniversary = new Anniversary { Day = 29, Month = 7 },
                FirstDateTime = new DateTime(2013, 7, 29)
            };

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2015, 7, 29));
        }
        public void LastOccurrenceTest9()
        {
            var aEvent = new Event()
            {
                ID = 9,
                Title = "Every 2 months on the last Monday, 3 times",
                FrequencyTypeOptions = FrequencyTypeEnum.Monthly,
                DaysOfWeek = 2,
                NumberOfOccurrences = 3,
                MonthInterval = 2,
                MonthlyIntervalOptions = MonthlyIntervalEnum.Last,
                FirstDateTime = new DateTime(2013, 7, 29)
            };

            var schedule = new Schedule(aEvent);
            DateTime? endDate = schedule.GetLastOccurrenceDate();
            Assert.IsTrue(endDate == new DateTime(2013, 11, 25));
        }
Beispiel #30
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)));
        }