public bool IsBoundaryDate(DateTime deleteDate) { var isBoundaryDate = false; var daysList = new List<int>{1}; foreach(var boundary in daysList ) { var daysLeft = (deleteDate - DateTime.UtcNow).Days; if (daysLeft == boundary) { isBoundaryDate = true; break; } } return isBoundaryDate; } So while doing unit testing, my code looks like this:
public void IsBoundaryDate_ReturnFalse_WhenDateIsNotInBoundaryDays() { var boundaryDaysFake = new List<int> { 1 }; var deleteDate = DateTime.UtcNow.AddDays(1).AddMinutes(1); var sut = new BoundaryDateChecker(boundaryDaysFake); Assert.IsTrue(sut.IsBoundaryDate(deleteDate)); } How I can avoid hardcoding AddMinutes(1), because hardcoding seems like a bad idea for a test method