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 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 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 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 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 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)); }
public void LastOccurrenceTest7() { var aEvent = new Event() { ID = 7, Title = "Monthly on the last Monday, 3 times", FrequencyTypeOptions = FrequencyTypeEnum.Monthly, DaysOfWeek = 2, MonthlyIntervalOptions = MonthlyIntervalEnum.Last, StartDateTime = new DateTime(2013, 7, 29) }; aEvent.SetEndDateWithNumberOfOccurrences(3); var schedule = new Schedule(aEvent); DateTime? endDate = schedule.GetLastOccurrenceDate(); Assert.IsTrue(endDate == new DateTime(2013, 9, 30)); }
public void LastOccurrenceTest6() { var aEvent = new Event() { ID = 6, Title = "Every 2 months on day 29, 3 times", FrequencyTypeOptions = FrequencyTypeEnum.Monthly, DayOfMonth = 29, RepeatInterval = 2, StartDateTime = new DateTime(2013, 7, 29) }; aEvent.SetEndDateWithNumberOfOccurrences(3); var schedule = new Schedule(aEvent); DateTime? endDate = schedule.GetLastOccurrenceDate(); Assert.IsTrue(endDate == new DateTime(2013, 11, 29)); }
public void MultifunctionTest1() { var aEvent = new Event() { FrequencyTypeOptions = FrequencyTypeEnum.Yearly, RepeatInterval = 2, StartDateTime = new DateTime(2000, 9, 27), // even years only Anniversary = new Anniversary() { Month = 9, Day = 27 } }; // Occurs 2000,2002,2004,2006,2008,2010 aEvent.SetEndDateWithNumberOfOccurrences(6); // Check that the ending date was set correctly. Assert.IsTrue(aEvent.EndDateTime == new DateTime(2010, 9, 27)); // Check that the number of occurrences is retrievable. Assert.IsTrue(aEvent.NumberOfOccurrencesThatWasLastSet == 6); // Exclude 2000,2006,2010. var excludedDates = new List<DateTime> { new DateTime(2000, 9, 27), new DateTime(2005, 9, 27), new DateTime(2005, 9, 28), new DateTime(2006, 9, 27), new DateTime(2010, 9, 27) }; var schedule = new Schedule(aEvent, excludedDates); // Make sure it is not occurring on excluded dates. Assert.IsFalse(schedule.IsOccurring(new DateTime(2000, 9, 27))); Assert.IsFalse(schedule.IsOccurring(new DateTime(2006, 9, 27))); Assert.IsFalse(schedule.IsOccurring(new DateTime(2010, 9, 27))); // Make sure it is not occurring outside the set range. Assert.IsFalse(schedule.IsOccurring(new DateTime(1998, 9, 27))); Assert.IsFalse(schedule.IsOccurring(new DateTime(2012, 9, 27))); // Make sure it is occurring on desired dates. Assert.IsTrue(schedule.IsOccurring(new DateTime(2002, 9, 27))); Assert.IsTrue(schedule.IsOccurring(new DateTime(2004, 9, 27))); Assert.IsTrue(schedule.IsOccurring(new DateTime(2008, 9, 27))); // Check the occurrences function. var during = new DateRange(new DateTime(1995, 1, 1),new DateTime(2015, 1, 1)); var occurrences = schedule.Occurrences(during); Assert.IsTrue(occurrences.Count() == 3); // Check the last occurrence date function. var lastDate = schedule.GetLastOccurrenceDate(); Assert.IsTrue(lastDate == new DateTime(2008, 9, 27)); // Check the next occurrence (date only) function. Assert.IsTrue(schedule.NextOccurrence(new DateTime(1995, 1, 1)) == new DateTime(2002, 9, 27)); Assert.IsTrue(schedule.NextOccurrence(new DateTime(2004, 9, 26)) == new DateTime(2004, 9, 27)); Assert.IsTrue(schedule.NextOccurrence(new DateTime(2004, 9, 27)) == new DateTime(2008, 9, 27)); Assert.IsTrue(schedule.NextOccurrence(new DateTime(2008, 9, 27)) == null); // Check the previous occurrence (date only) function. Assert.IsTrue(schedule.PreviousOccurrence(new DateTime(1995, 1, 1)) == null); Assert.IsTrue(schedule.PreviousOccurrence(new DateTime(2004, 9, 26)) == new DateTime(2002, 9, 27)); Assert.IsTrue(schedule.PreviousOccurrence(new DateTime(2004, 9, 28)) == new DateTime(2004, 9, 27)); Assert.IsTrue(schedule.PreviousOccurrence(new DateTime(2013, 9, 27)) == new DateTime(2008, 9, 27)); // Check the next occurrence ranged function. var range1 = new DateRange(new DateTime(2004, 9, 1), new DateTime(2004, 10, 1)); var range2 = new DateRange(new DateTime(2004, 11, 1), new DateTime(2002, 9, 27)); Assert.IsTrue(schedule.NextOccurrence(new DateTime(1995, 1, 1), range1) == new DateTime(2004, 9, 27)); Assert.IsTrue(schedule.NextOccurrence(new DateTime(1995, 1, 1), range2) == null); // Check the previous occurrence ranged function. Assert.IsTrue(schedule.PreviousOccurrence(new DateTime(2015, 1, 1), range1) == new DateTime(2004, 9, 27)); Assert.IsTrue(schedule.PreviousOccurrence(new DateTime(2015, 1, 1), range2) == null); }