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