public void EveryDayFor3Days() { // arrange var schedule = new DailySchedule() { // Every 1 day Frequency = 1, // From 8AM to 9AM Time = new TimeRange { Start = new Time{ Hour = 8, Minute = 0}, End = new Time{ Hour = 9, Minute = 0} }, // Janury 1st through 3rd Duration = new DateRange { Start = new DateTime(2000, 1, 1), End = new DateTime(2000, 1, 3) }, }; // act var results = schedule.BuildSchedule(); //assert Assert.IsNotNull(results); Assert.AreEqual(3, results.Count()); Assert.AreEqual(new DateTime(2000, 1, 1, 8, 0, 0), results.ElementAt(0).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 1, 9, 0, 0), results.ElementAt(0).AsDateRange().End); Assert.AreEqual(new DateTime(2000, 1, 2, 8, 0, 0), results.ElementAt(1).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 2, 9, 0, 0), results.ElementAt(1).AsDateRange().End); Assert.AreEqual(new DateTime(2000, 1, 3, 8, 0, 0), results.ElementAt(2).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 3, 9, 0, 0), results.ElementAt(2).AsDateRange().End); }
public void Every3DaysFor2Weeks() { // arrange var schedule = new DailySchedule() { // Every 3 days Frequency = 3, // 8AM -9AM Time = new TimeRange { Start = new Time { Hour = 8, Minute = 0 }, End = new Time { Hour = 9, Minute = 0 } }, // January 1st - 14th Duration = new DateRange { Start = new DateTime(2000, 1, 1), End = new DateTime(2000, 1, 14) } }; // act var results = schedule.BuildSchedule(); //assert Assert.IsNotNull(results); Assert.AreEqual(5, results.Count()); Assert.AreEqual(new DateTime(2000, 1, 1, 8, 0, 0), results.ElementAt(0).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 1, 9, 0, 0), results.ElementAt(0).AsDateRange().End); Assert.AreEqual(new DateTime(2000, 1, 4, 8, 0, 0), results.ElementAt(1).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 4, 9, 0, 0), results.ElementAt(1).AsDateRange().End); Assert.AreEqual(new DateTime(2000, 1, 7, 8, 0, 0), results.ElementAt(2).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 7, 9, 0, 0), results.ElementAt(2).AsDateRange().End); Assert.AreEqual(new DateTime(2000, 1, 10, 8, 0, 0), results.ElementAt(3).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 10, 9, 0, 0), results.ElementAt(3).AsDateRange().End); Assert.AreEqual(new DateTime(2000, 1, 13, 8, 0, 0), results.ElementAt(4).AsDateRange().Start); Assert.AreEqual(new DateTime(2000, 1, 13, 9, 0, 0), results.ElementAt(4).AsDateRange().End); }