public void GetNextDateAfter_ReturnsNextDayInNextWeek() { // Arrange. var target = new WeeklyPattern { Saturday = true, Sunday = true }; var afterDate = new DateTime(2013, 1, 19); // Saturday // Act. var result = target.GetNextDateAfter(afterDate); // Assert. var expected = new DateTime(2013, 1, 20); // Sunday Assert.AreEqual(expected, result); // Arrange. target = new WeeklyPattern { ReoccurEveryNWeek = 2, Sunday = true, Saturday = true }; afterDate = new DateTime(2013, 1, 19); // Saturday // Act. result = target.GetNextDateAfter(afterDate); // Assert. expected = new DateTime(2013, 1, 27); // Sunday Assert.AreEqual(expected, result); // Arrange. target = new WeeklyPattern { ReoccurEveryNWeek = 3, Sunday = true }; afterDate = new DateTime(2013, 1, 20); // Sunday // Act. result = target.GetNextDateAfter(afterDate); // Assert. expected = new DateTime(2013, 2, 10); // Sunday Assert.AreEqual(expected, result); }
public void WhenNoDaysAreSelected_GetNextDateAfter_ReturnsNull() { // Arrange. var target = new WeeklyPattern(); // Act. var result = target.GetNextDateAfter(new DateTime(2013, 1, 1)); // Assert. Assert.IsNull(result); }
public void GetNextDateAfter_ReturnsNextDayInCurrentWeek() { // Arrange. var target = new WeeklyPattern { ReoccurEveryNWeek = 2, Sunday = true, Tuesday = true }; var afterDate = new DateTime(2013, 1, 20); // Sunday // Act. var result = target.GetNextDateAfter(afterDate); // Assert. var expected = new DateTime(2013, 1, 22); // Tuesday Assert.AreEqual(expected, result); // Arrange. target = new WeeklyPattern { ReoccurEveryNWeek = 2, Saturday = true, }; afterDate = new DateTime(2013, 1, 18); // Friday. // Act. result = target.GetNextDateAfter(afterDate); // Assert. expected = new DateTime(2013, 1, 19); // Saturday Assert.AreEqual(expected, result); // Arrange. target = new WeeklyPattern { ReoccurEveryNWeek = 2, Sunday = true, Monday = true, Tuesday = true, Wednesday = true, Thursday = true, Friday = true, Saturday = true }; afterDate = new DateTime(2013, 1, 18); // Friday. // Act. result = target.GetNextDateAfter(afterDate); // Assert. expected = new DateTime(2013, 1, 19); // Saturday Assert.AreEqual(expected, result); }