Tengo este método que depende de la fecha actual. Comprueba si hoy es domingo, lunes, martes o miércoles, luego da 5 días de tiempo de entrega para la llegada de los artículos enviados. Si es Thur, Fri o Sat, da 6 días de tiempo de entrega para el fin de semana.Cómo probar la lógica que depende de la fecha actual
private DateTime GetEstimatedArrivalDate()
{
DateTime estimatedDate;
if (DateTime.Now.DayOfWeek >= DayOfWeek.Thursday)
{
estimatedDate = DateTime.Now.Date.AddDays(6);
}
else
{
estimatedDate = DateTime.Now.Date.AddDays(5);
}
return estimatedDate;
}
La lógica de estimación real es más compleja. Lo he simplificado para el propósito de esta pregunta. Mi pregunta es ¿cómo puedo escribir una prueba unitaria para algo como esto que depende de la fecha de hoy?
La respuesta es (casi) en la pregunta "¿Cómo escribo una prueba unitaria para algo como esto que depende de la fecha de hoy?" Refactorice el método para usar inyección de dependencia como en la respuesta de Marcos. –