public void GetProperDateTime_ReturnsFriday_ForWeekendDatetime() { //Arrange DaysProcessor processor = new DaysProcessor(); DateTime baseDate = new DateTime(2016, 8, 13, 0, 0, 0); //Act DateTime actualDateTime = processor.GetProperDateTime(baseDate, 1); //Assert DateTime expectedDateTime = new DateTime(2016, 8, 12, 0, 0, 0); Assert.AreEqual(expectedDateTime, actualDateTime); }
public void GetProperDateTime_ReturnsTheSameValue_IfProperValueIsPassed() { //Arrange DaysProcessor processor = new DaysProcessor(); DateTime baseDate = new DateTime(2016, 8, 11, 0, 0, 0); //Act DateTime actualDateTime = processor.GetProperDateTime(baseDate, 1); //Assert DateTime expectedDateTime = baseDate; Assert.AreEqual(expectedDateTime, actualDateTime); }
public void GetProperDateTime_ReturnsProperDateTime_ForTimeOnEdgeOfFullPeriod() { //Arrange DaysProcessor processor = new DaysProcessor(); DateTime baseDate = new DateTime(2017, 5, 8, 0, 0, 0); //Act DateTime result = processor.GetProperDateTime(baseDate, 1); //Assert DateTime expectedDateTime = new DateTime(2017, 5, 8, 0, 0, 0); Assert.AreEqual(expectedDateTime, result); }
public void GetProperDateTime_ReturnsDateTimeRoundedDown_ForTimeBetweenFullPeriods() { //Arrange DaysProcessor processor = new DaysProcessor(); DateTime baseDate = new DateTime(2017, 5, 8, 16, 14, 27); //Act DateTime result = processor.GetProperDateTime(baseDate, 1); //Assert DateTime expectedDateTime = new DateTime(2017, 5, 8, 0, 0, 0); Assert.AreEqual(expectedDateTime, result); }
public void GetProperDateTime_ReturnsLastValidValueBefore_ForHolidayValueIfPreviousDayIsWeekend() { //Arrange DaysProcessor processor = new DaysProcessor(); processor.AddHoliday(new DateTime(2017, 5, 1, 0, 0, 0)); DateTime baseDate = new DateTime(2017, 5, 1, 0, 0, 0); //Act DateTime result = processor.GetProperDateTime(baseDate, 1); //Assert DateTime expectedDateTime = new DateTime(2017, 4, 28, 0, 0, 0); Assert.AreEqual(expectedDateTime, result); }
public void GetProperDateTime_ReturnsLastValidValueBefore_ForWeekendIfFridayWasHoliday() { //Arrange DaysProcessor processor = new DaysProcessor(); processor.AddHoliday(new DateTime(2017, 4, 7, 0, 0, 0)); DateTime baseDate = new DateTime(2017, 4, 8, 0, 0, 0); //Act DateTime result = processor.GetProperDateTime(baseDate, 1); //Assert DateTime expectedDateTime = new DateTime(2017, 4, 6, 0, 0, 0); Assert.AreEqual(expectedDateTime, result); }
public void GetProperDateTime_ReturnsLastValidValueBefore_ForHolidayValueIfTwoPreviousDaysAreAlsoHoliday() { //Arrange DaysProcessor processor = new DaysProcessor(); processor.AddHoliday(new DateTime(2016, 1, 1, 0, 0, 0)); processor.AddHoliday(new DateTime(2015, 12, 31, 0, 0, 0)); processor.AddHoliday(new DateTime(2015, 12, 30, 0, 0, 0)); DateTime baseDate = new DateTime(2016, 1, 1, 0, 0, 0); //Act DateTime result = processor.GetProperDateTime(baseDate, 1); //Assert DateTime expectedDateTime = new DateTime(2015, 12, 29, 0, 0, 0); Assert.AreEqual(expectedDateTime, result); }