Ejemplo n.º 1
0
        public void ProcesarDTOPaqueteEnviado_ValidarAsignacionFechaEntrega_PropiedadFechaEntregaAsiganda()
        {
            //Arrange
            List <IMediosTransportes> lstFedex = new List <IMediosTransportes>();
            MedioTransporteBarco      barco    = new MedioTransporteBarco();

            lstFedex.Add(barco);
            DateTime dtTest = new DateTime(2020, 01, 21, 01, 00, 00);
            var      DOCRecuperadorTiempo = new Mock <IGeneradorMensajes>();
            var      SUT = new PaqueteriaFedexStrategy(DOCRecuperadorTiempo.Object);

            SUT.lstMediosTransporte = lstFedex;
            IPaqueteEnviado paqueteEnviado = new PaqueteEnviado();

            paqueteEnviado.cPaqueteria      = "Fedex";
            paqueteEnviado.cMedioTransporte = "Barco";
            paqueteEnviado.dtFechaActual    = new DateTime(2020, 01, 01);
            paqueteEnviado.dtFechaPedido    = new DateTime(2020, 01, 21);
            paqueteEnviado.cDistancia       = "46";

            //Act
            var PaqueteProcesado = SUT.ProcesarDTOPaqueteEnviado(paqueteEnviado);

            //Assert
            Assert.AreEqual(dtTest, paqueteEnviado.dtFechaEntrega);
        }
Ejemplo n.º 2
0
        public void ProcesarDTOPaqueteEnviado_ValidarAsignacionCostoEnvio_PropiedadCostoEnvioAsignada()
        {
            //Arrange
            List <IMediosTransportes> lstEstafeta = new List <IMediosTransportes>();
            IMediosTransportes        tren        = new MedioTransporteTren();

            lstEstafeta.Add(tren);

            var DOCRecuperadorTiempo = new Mock <IGeneradorMensajes>();
            var SUT = new PaqueteriaEstafetaStrategy(DOCRecuperadorTiempo.Object);

            SUT.lstMediosTransporte = lstEstafeta;
            IPaqueteEnviado paqueteEnviado = new PaqueteEnviado();

            paqueteEnviado.cPaqueteria      = "Estafeta";
            paqueteEnviado.cMedioTransporte = "Tren";
            paqueteEnviado.dtFechaActual    = new DateTime(2020, 01, 01);
            paqueteEnviado.dtFechaPedido    = new DateTime(2020, 01, 21);
            paqueteEnviado.cDistancia       = "80";

            //Act
            var PaqueteProcesado = SUT.ProcesarDTOPaqueteEnviado(paqueteEnviado);

            //Assert
            Assert.AreEqual(480, paqueteEnviado.dCostoEnvio);
        }
        public void ProcesarDTOPaqueteEnviado_ValidarAsignacionFechaEntrega_PropiedadFechaEntregaAsiganda()
        {
            //Arrange
            List <IMediosTransportes> lstDHL = new List <IMediosTransportes>();
            IMediosTransportes        avion  = new MedioTransporteAvion();

            lstDHL.Add(avion);
            DateTime dtTest = new DateTime(2020, 01, 21, 01, 00, 00);
            var      DOCRecuperadorTiempo = new Mock <IGeneradorMensajes>();
            var      SUT = new PaqueteriaDHLStrategy(DOCRecuperadorTiempo.Object);

            SUT.lstMediosTransporte = lstDHL;
            IPaqueteEnviado paqueteEnviado = new PaqueteEnviado();

            paqueteEnviado.cPaqueteria      = "DHL";
            paqueteEnviado.cMedioTransporte = "Avión";
            paqueteEnviado.dtFechaActual    = new DateTime(2020, 01, 01);
            paqueteEnviado.dtFechaPedido    = new DateTime(2020, 01, 21);
            paqueteEnviado.cDistancia       = "600";

            //Act
            var PaqueteProcesado = SUT.ProcesarDTOPaqueteEnviado(paqueteEnviado);

            //Assert
            Assert.AreEqual(dtTest, paqueteEnviado.dtFechaEntrega);
        }
Ejemplo n.º 4
0
        public void RecuperarDTOCostoMenor_ValidarPropiedadCosto_PropiedadCosto()
        {
            //Arrange
            List <IMediosTransportes> lstDHL = new List <IMediosTransportes>();
            IMediosTransportes        barco  = new MedioTransporteBarco();
            var DOCGeneradorMensaje          = new Mock <IGeneradorMensajes>();

            lstDHL.Add(barco);
            var DHL = new PaqueteriaDHLStrategy(DOCGeneradorMensaje.Object);

            DHL.lstMediosTransporte = lstDHL;
            List <ITransportistas> lstTransportistas = new List <ITransportistas>();

            lstTransportistas.Add(DHL);
            IPaqueteEnviado paqueteEnviado = new PaqueteEnviado();

            paqueteEnviado.cPaqueteria      = "Fedex";
            paqueteEnviado.cMedioTransporte = "Barco";
            paqueteEnviado.dtFechaActual    = new DateTime(2020, 01, 01);
            paqueteEnviado.dtFechaPedido    = new DateTime(2020, 01, 21);
            paqueteEnviado.cDistancia       = "600";
            paqueteEnviado.dCostoEnvio      = 1000;
            var DOCIEnlistadorPaqueterias = new Mock <IEnlistadorPaqueteriaDisponibles>();

            DOCIEnlistadorPaqueterias.Setup((s) => s.obtenerListadoTransportistas()).Returns(lstTransportistas);
            var SUT = new ObtenedorCostoEnvioMenor(DOCIEnlistadorPaqueterias.Object);

            //Act
            var PaqueteCostoMenor = SUT.RecuperarDTOCostoMenor(paqueteEnviado);

            //Assert
            Assert.AreEqual(160, PaqueteCostoMenor.CostoEnvio);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Crea un objeto de tipo EventoDTO y asigna los valores que recibe como parámetro.
        /// </summary>
        /// <param name="_arrValores">Arreglo que contien los valores a asignar al DTO.</param>
        /// <returns>Retorna un objeto de tipo EventoDTO.</returns>
        private IPaqueteEnviado AsignarValoresEvento(string[] _arrValores)
        {
            IPaqueteEnviado Paquete = new PaqueteEnviado();

            switch (_arrValores.Length)
            {
            case 1:
                Paquete.cOrigen = _arrValores[0];
                break;

            case 2:
                Paquete.cOrigen  = _arrValores[0];
                Paquete.cDestino = _arrValores[1];
                break;

            case 3:
                Paquete.cOrigen    = _arrValores[0];
                Paquete.cDestino   = _arrValores[1];
                Paquete.cDistancia = _arrValores[2];
                break;

            case 4:
                Paquete.cOrigen     = _arrValores[0];
                Paquete.cDestino    = _arrValores[1];
                Paquete.cDistancia  = _arrValores[2];
                Paquete.cPaqueteria = _arrValores[3];
                break;

            case 5:
                Paquete.cOrigen          = _arrValores[0];
                Paquete.cDestino         = _arrValores[1];
                Paquete.cDistancia       = _arrValores[2];
                Paquete.cPaqueteria      = _arrValores[3];
                Paquete.cMedioTransporte = _arrValores[4];
                break;

            case 6:
                Paquete.cOrigen          = _arrValores[0];
                Paquete.cDestino         = _arrValores[1];
                Paquete.cDistancia       = _arrValores[2];
                Paquete.cPaqueteria      = _arrValores[3];
                Paquete.cMedioTransporte = _arrValores[4];
                Paquete.dtFechaPedido    = Convert.ToDateTime(_arrValores[5]);
                break;

            default:
                break;
            }
            return(Paquete);
        }
Ejemplo n.º 6
0
        public void ProcesarDTOPaqueteEnviado_MedioTransporteInexistente_BoleanoConValorFalse()
        {
            //Arrange
            var             DOCRecuperadorTiempo = new Mock <IGeneradorMensajes>();
            var             SUT            = new PaqueteriaFedexStrategy(DOCRecuperadorTiempo.Object);
            IPaqueteEnviado paqueteEnviado = new PaqueteEnviado();

            paqueteEnviado.cPaqueteria = "Patito";

            //Act
            var PaqueteProcesado = SUT.ProcesarDTOPaqueteEnviado(paqueteEnviado);

            //Assert
            Assert.IsFalse(PaqueteProcesado);
        }
        public void LlenarDTOEvento_AsignarValorPropiedadcExpresionTiempo_PropiedadcExpresionTiempoIgualA10Minutos()
        {
            //Arrange
            DateTime dtFechaBase = new DateTime(2020, 01, 10, 20, 45, 000);
            PaqueteEnviado Paquete = new PaqueteEnviado() { dtFechaActual = dtFechaBase, dtFechaEntrega = new DateTime(2020, 01, 10, 20, 55, 000) };
            var DOCEvaluadorFechaAnterior = new Mock<IEvaluadorFechaAnterior>();
            DOCEvaluadorFechaAnterior.Setup((s) => s.EvaluarFechaAnterior(It.IsAny<DateTime>(), It.IsAny<DateTime>())).Returns(false);
            var DOCRecuperadorTiempo = new Mock<IObtenedorTiempo>();
            DOCRecuperadorTiempo.Setup((s) => s.RecuperarExpresionTiempo().ProcesarTiempo(Paquete.dtFechaActual, Paquete.dtFechaEntrega)).Returns("10 Minutos");
            var SUT = new CompletadorDatosDTO(DOCEvaluadorFechaAnterior.Object, DOCRecuperadorTiempo.Object);

            //Act
            SUT.LlenarDTOPaquete(Paquete);

            //Assert
            Assert.AreEqual("10 Minutos", Paquete.cExpresionTiempo);
        }
        public void LlenarDTOPaquete_AsignarValorPropiedadlPaqueteEnviado_PropiedadlPaqueteEntregadoTrue()
        {
            //Arrange
            DateTime dtFechaBase = new DateTime(2020, 01, 07, 20, 55, 000);
            PaqueteEnviado Paquete = new PaqueteEnviado() { dtFechaActual = dtFechaBase , dtFechaEntrega = new DateTime(2020, 01, 10, 20, 55, 000)};
            var DOCEvaluadorFechaAnterior = new Mock<IEvaluadorFechaAnterior>();
            DOCEvaluadorFechaAnterior.Setup((s) => s.EvaluarFechaAnterior(It.IsAny<DateTime>(), It.IsAny<DateTime>())).Returns(true);
            var DOCRecuperadorTiempo = new Mock<IObtenedorTiempo>();
            DOCRecuperadorTiempo.Setup((s) => s.RecuperarExpresionTiempo().ProcesarTiempo(Paquete.dtFechaActual, Paquete.dtFechaEntrega)).Returns(string.Empty);
            var SUT = new CompletadorDatosDTO(DOCEvaluadorFechaAnterior.Object, DOCRecuperadorTiempo.Object);

            //Act
            SUT.LlenarDTOPaquete(Paquete);

            //Assert
            Assert.AreEqual(true, Paquete.lPaqueteEntregado);
        }