public void GetOccurrences_EveryThird_Until() { var from = new DateTime(2017, 2, 15) + time; var recurrence = new MonthlyRecurrence(3, new DateTime(2017, 9, 15)); var occurrences = recurrence.GetOccurrences(from).ToList(); CollectionAssert.AreEqual(new[] { new DateTime(2017, 2, 15) + time, new DateTime(2017, 5, 15) + time, new DateTime(2017, 8, 15) + time, }, occurrences); }
public void GetOccurrences_EveryThirdEndOfMonth_Until() { var from = new DateTime(2017, 1, 31) + time; var recurrence = new MonthlyRecurrence(3, new DateTime(2017, 10, 30)); var occurrences = recurrence.GetOccurrences(from).ToList(); CollectionAssert.AreEqual(new[] { new DateTime(2017, 1, 31) + time, new DateTime(2017, 4, 30) + time, new DateTime(2017, 7, 31) + time, }, occurrences); }
public void GetOccurrences_EveryEndOfMonth() { var from = new DateTime(2017, 1, 31) + time; var recurrence = new MonthlyRecurrence(1, null); var occurrences = recurrence.GetOccurrences(from).Take(4).ToList(); CollectionAssert.AreEqual(new[] { new DateTime(2017, 1, 31) + time, new DateTime(2017, 2, 28) + time, new DateTime(2017, 3, 31) + time, new DateTime(2017, 4, 30) + time, }, occurrences); }