1
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

maccettura
  • 10,514
  • 3
  • 28
  • 35
Jorge
  • 89
  • 9
  • 2
    Google [how to unit test DateTime.Now](https://www.google.com/search?q=how+to+unit+test+DateTime.now+site:stackoverflow.com). – Igor May 09 '18 at 17:25

0 Answers0