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);
        }