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