Example #1
0
        public IRangoTiempo ConfigurarRangosTiempo()
        {
            IRangoTiempo rangoMeses   = new RangoMeses();
            IRangoTiempo rangoDias    = new RangoDias();
            IRangoTiempo rangoHoras   = new RangoHoras();
            IRangoTiempo rangoMinutos = new RangoMinutos();

            rangoMeses.AgregarSiguiente(rangoDias);
            rangoDias.AgregarSiguiente(rangoHoras);
            rangoHoras.AgregarSiguiente(rangoMinutos);

            return(rangoMeses);
        }
Example #2
0
        public IManejadorRangos crearManejador()
        {
            IManejadorRangos _minutos = new RangoMinutos(escritor, ocurrencia);
            IManejadorRangos _horas   = new RangoHoras(escritor, ocurrencia);
            IManejadorRangos _dias    = new RangoDias(escritor, ocurrencia);
            IManejadorRangos _meses   = new RangoMeses(escritor, ocurrencia);

            AsignarSiguienteManejador(_minutos, _horas);
            AsignarSiguienteManejador(_horas, _dias);
            AsignarSiguienteManejador(_dias, _meses);

            return(_minutos);
        }
        public void ObtenerRangoTiempo_FechasIguales_RangoVacio()
        {
            //Arrange
            string   cRangoEsperado = "";
            DateTime dtEntrega      = new DateTime(2020, 01, 27, 10, 00, 00);
            DateTime dtActual       = new DateTime(2020, 01, 27, 10, 00, 00);
            var      SUT            = new RangoHoras();

            //Act
            string cRango = SUT.ObtenerRangoTiempo(dtEntrega, dtActual);

            //Assert
            Assert.AreEqual(cRangoEsperado, cRango);
        }
        public void ObtenerRangoTiempo_DiferenciaFechasMasDeUnaHoraInversa_Rango3dias()
        {
            //Arrange
            string   cRangoEsperado = "3 horas";
            DateTime dtEntrega      = new DateTime(2020, 01, 27, 13, 00, 00);
            DateTime dtActual       = new DateTime(2020, 01, 27, 10, 00, 00);
            var      SUT            = new RangoHoras();

            //Act
            string cRango = SUT.ObtenerRangoTiempo(dtEntrega, dtActual);

            //Assert
            Assert.AreEqual(cRangoEsperado, cRango);
        }
        public void ObtenerRangoTiempo_DiferenciaHorasIgualCero_ObtieneRangoSiguiente()
        {
            //Arrange
            string   cRangoEsperado         = "minutos";
            DateTime dtEntrega              = new DateTime(2020, 01, 27, 10, 00, 00);
            DateTime dtActual               = new DateTime(2020, 01, 27, 10, 20, 00);
            var      DOCIRangoTiempoMinutos = new Mock <IRangoTiempo>();

            DOCIRangoTiempoMinutos.Setup(r => r.ObtenerRangoTiempo(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns("minutos");
            var SUT = new RangoHoras();

            SUT.AgregarSiguiente(DOCIRangoTiempoMinutos.Object);

            //Act
            string cRango = SUT.ObtenerRangoTiempo(dtEntrega, dtActual);

            //Assert
            Assert.AreEqual(cRangoEsperado, cRango);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("");
            string RutaPedido = @"C:\Proyectos\ProyectoFinal_BPPD\RastreoPaquetes\Pedidos.csv";
            IObtenedorFechaActual         obtenedorFecha          = new FechaActual();
            IProcesadorExpresionesMensaje procesadorExpresiones   = new ProcesardorExpresionMensajes(obtenedorFecha);
            IValidadorEstatusEntrega      validadorEstatusEntrega = new EstatusEntrega(obtenedorFecha);

            IProcesadorMensajes procesadorMensajes = new ProcesaMensaje();
            IPresentadorMensaje presentadorMensaje = new ImprimirMensajeConsola();
            RangoBase           rgBase             = new RangoBase(obtenedorFecha);
            RangoMinutos        minutos            = new RangoMinutos(rgBase);
            RangoHoras          horas = new RangoHoras(rgBase);
            RangoDias           dia   = new RangoDias(rgBase);
            RangoMeses          mes   = new RangoMeses(rgBase);

            minutos.SetSiguienteCalculo(horas);
            horas.SetSiguienteCalculo(dia);
            dia.SetSiguienteCalculo(mes);



            IFormatoEntradaFactory formatoFactory = new FormatoEntradaCSV();
            var               formatoEntrada      = formatoFactory.GenerarInstaciaFormatoEntrada();
            List <Pedido>     lstPedidos          = formatoEntrada.ObtenerEntradaPedidos(RutaPedido);
            IMediosTransporte mediosTransporte;

            mediosTransporte = new TransporteTren();
            mediosTransporte = new TransporteBarco();
            mediosTransporte = new TransporteAvion();


            IEmpresasPaqueteria empresasPaqueteria =
                new PaqueteriaDHL(mediosTransporte, procesadorExpresiones, validadorEstatusEntrega, minutos, procesadorMensajes, presentadorMensaje);

            empresasPaqueteria.ProcesarRastreo(lstPedidos[0]);
        }