public MensajeDto ObtenerMensajeEnvio(PedidoDto pedido, DateTime fechaEntrega, double costoEnvio) { TiempoTranscurridoDto tiempoTranscurridoDto = _tiempoTranscurrido.ObtenerTiempoTranscurrido(fechaEntrega); ITiempoTranscurridoHandler tiempoTranscurridoMes = new TiempoTranscurridoMes(); ITiempoTranscurridoHandler tiempoTranscurridoDia = new TiempoTranscurridoDia(); ITiempoTranscurridoHandler tiempoTranscurridoHora = new TiempoTranscurridoHora(); ITiempoTranscurridoHandler tiempoTranscurridoMinuto = new TiempoTranscurridoMinuto(); tiempoTranscurridoMes.Next = tiempoTranscurridoDia; tiempoTranscurridoDia.Next = tiempoTranscurridoHora; tiempoTranscurridoHora.Next = tiempoTranscurridoMinuto; string mensajeTiempoTranscurrido = tiempoTranscurridoMes.ObtenerMensajeTiempoTranscurrido(tiempoTranscurridoDto.TotalTiempoTranscurrido); string mensaje = _generadorMensaje.GenerarMensaje(pedido, tiempoTranscurridoDto.EsTiempoPasado, mensajeTiempoTranscurrido, costoEnvio); ConsoleColor color = ConsoleColor.Yellow; if (tiempoTranscurridoDto.EsTiempoPasado) { color = ConsoleColor.Green; } return(new MensajeDto() { Mensaje = mensaje, Color = color }); }
public void TiempoTranscurrido_FechaActualEsMayorQuefechaEntrega_RegresaTiempoTranscurrido() { //Arrange _reloj.SetupGet(s => s.FechaActual).Returns(new DateTime(2019, 12, 25)); DateTime fechaEntrega = new DateTime(2019, 11, 26); int diasExp = 29; //Act TiempoTranscurridoDto tiempoTranscurrido = _tiempoTranscurrido.ObtenerTiempoTranscurrido(fechaEntrega); //Assert Assert.IsTrue(tiempoTranscurrido.EsTiempoPasado); Assert.AreEqual(diasExp, tiempoTranscurrido.TotalTiempoTranscurrido.Days); }