Вам необходимо передать текущую дату в качестве параметра:
private DateTime GetEstimatedArrivalDate(DateTime currentDate)
{
DateTime estimatedDate;
if (currentDate.DayOfWeek >= DayOfWeek.Thursday)
{
estimatedDate = currentDate.AddDays(6);
}
else
{
estimatedDate = currentDate.AddDays(5);
}
return estimatedDate;
}
В реальном коде вы называете это так:
DateTime estimatedDate = GetEstimatedArrivalDate(DateTime.Now.Date);
Затем вы можете проверить это следующим образом:
DateTime actual = GetEstimatedArrivalDate(new DateTime(2010, 2, 10));
DateTime expected = ...;
// etc...
Обратите внимание, что это также исправляет потенциальную ошибку в вашей программе, когда дата меняется между последовательными вызовами на DateTime.Now
.