Esempio n. 1
0
        public lEmpresas buscarEmpresa(JToken _Empresa, List <lEnvios> _lstTransportes)
        {
            lEmpresas      Empresa       = null;
            string         cNombre       = (string)_Empresa["Paqueteria"];
            decimal        dMargen       = (decimal)_Empresa["MargenUtilidad"];
            List <JToken>  Transportes   = _Empresa["Medios"].ToList();
            List <lEnvios> lstTransporte = new List <lEnvios>();

            foreach (var tra in Transportes)
            {
                string cMedio = RemoveDiacritics((string)tra["Medio"]);
                lstTransporte.Add(_lstTransportes.Where(s => s.cNombre == cMedio).FirstOrDefault());
            }

            if (cNombre == "DHL")
            {
                Empresa = new DHL(lstTransporte, dMargen, cNombre = "DHL");
            }
            else if (cNombre == "Fedex")
            {
                Empresa = new FEDEXService(lstTransporte, dMargen, cNombre = "Fedex");
            }
            else
            {
                Empresa = new Estafeta(lstTransporte, dMargen, cNombre = "Estafeta");
            }

            return(Empresa);
        }
Esempio n. 2
0
        public void FechaEntrega_EnviarTiempoTrasladoMayorACero_FechaDeEntregaDiferenteAFechaHoy()
        {
            //Arrange
            DateTime dtResultado = new DateTime();
            lEnvios  barco       = new Maritimo()
            {
                dVelocidadEntrega = 46, dCostoEnvio = 1
            };
            lEmpresas fedex = new FEDEXService(new List <lEnvios>()
            {
                barco
            }, 50, "Fedex");
            DateTime dtHoy = Convert.ToDateTime("27-01-2020 12:00:00");

            State.State entPedido = new State.State(new DesactivarState(), "México", "USA", 2500, fedex, barco, dtHoy);
            //Act
            dtResultado = fedex.FechaEntrega(54, entPedido);
            //Assert
            Assert.AreNotEqual(dtResultado, dtHoy);
        }
Esempio n. 3
0
        public void CostoEnvio_EviarDistanciaMayorACincuenta_CostoEnvioMayorACero()
        {
            //Arrange
            decimal dResultado = 0;
            decimal dEsperado  = 3750;
            lEnvios barco      = new Maritimo()
            {
                dVelocidadEntrega = 46, dCostoEnvio = 1
            };
            lEmpresas fedex = new FEDEXService(new List <lEnvios>()
            {
                barco
            }, 50, "Fedex");
            DateTime dtHoy = Convert.ToDateTime("27-01-2020 12:00:00");

            State.State entPedido = new State.State(new DesactivarState(), "México", "USA", 2500, fedex, barco, dtHoy);
            //Act
            dResultado = fedex.CostoEnvio(entPedido);
            //Assert
            Assert.AreEqual(dEsperado, dResultado);
        }
Esempio n. 4
0
        public void TiempoTraslado_EnviarFechaDeEntregaMayorAHoy_ValorDiferenteDeCero()
        {
            //Arrange
            decimal iResultado = 0;
            lEnvios barco      = new Maritimo()
            {
                dVelocidadEntrega = 46, dCostoEnvio = 1
            };
            lEmpresas fedex = new FEDEXService(new List <lEnvios>()
            {
                barco
            }, 50, "Fedex");
            DateTime dtHoy     = Convert.ToDateTime("27-01-2020 12:00:00");
            DateTime dtEntrega = Convert.ToDateTime("28-01-2020 12:00:00");

            State.State entPedido = new State.State(new DesactivarState(), "México", "USA", 2500, fedex, barco, dtHoy);
            //Act
            iResultado = fedex.TiempoTraslado(entPedido);
            //Assert
            Assert.IsTrue(iResultado != 0);
        }