public void PedidoNoEntregado_EnviarStateDesactivado_EntPedidoAcrualizado() { //Arrange ActivarState activarState = new ActivarState(); DesactivarState DesactivarPedido = new DesactivarState(); lEnvios barco = new Maritimo() { dVelocidadEntrega = 46, dCostoEnvio = 1 }; lEmpresas fedex = new Estafeta(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 entPedido = new State(activarState, "México", "USA", 5000, fedex, barco, dtHoy); DesactivarPedido.setContext(entPedido); //Act DesactivarPedido.PedidoNoEntregado(); //Assert Assert.AreNotEqual(entPedido.state, DesactivarPedido); }
List <IEmpresa> ICrearInstanciaPaqueteriaFactory.CrearInstancia(string cClave, List <Configuracion> configuracion) { List <IEmpresa> empresa = null; IMediosTransporte medioTransporte = null; MediosTransporte Mediotransporte = null; Mediotransporte = configuracion[0].mediosTransporte.Where(x => x.Medio.ToUpper() == cClave.ToUpper()).FirstOrDefault(); switch (cClave) { case "MARITIMO": medioTransporte = new Maritimo(new CalculadorVelocidadMaritimo(Mediotransporte.VelocidadPorTemporada, new Estacion(configuracion[0].temporadas)), new CalculadorCostoEnvioMaritimo(Mediotransporte.CostoAdicionalPorTemporada, Mediotransporte.CostoPorKilometro, new Estacion(configuracion[0].temporadas))); empresa = new List <IEmpresa>(); ParametrosDTO parametros = new ParametrosDTO(); empresa.Add(new Fedex(medioTransporte, new CalculadorMargenUtilidadCostoFedex(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "FEDEX").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "FEDEX").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); empresa.Add(new DHL(medioTransporte, new CalculadorMargenUtilidadCostoDHL(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "DHL").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "DHL").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); empresa.Add(new Estafeta(medioTransporte, new CalculadorMargenUtilidadCostoEstafeta(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "ESTAFETA").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "ESTAFETA").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); break; case "TERRESTRE": medioTransporte = new Terrestre(new CalculadorCostoEnvioTerrestre(Mediotransporte.CostoPorKilometro), new CalculadorTiempoTrasladoTerrestre(new Estacion(configuracion[0].temporadas), Mediotransporte.RetrasoPorDiaPorTemporada)); empresa = new List <IEmpresa>(); ParametrosDTO parametrosT = new ParametrosDTO(); empresa.Add(new Fedex(medioTransporte, new CalculadorMargenUtilidadCostoFedex(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "FEDEX").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "FEDEX").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); empresa.Add(new DHL(medioTransporte, new CalculadorMargenUtilidadCostoDHL(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "DHL").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "DHL").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); empresa.Add(new Estafeta(medioTransporte, new CalculadorMargenUtilidadCostoEstafeta(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "ESTAFETA").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "ESTAFETA").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); break; case "AEREO": medioTransporte = new Aereo(new CalculadorEscalas()); empresa = new List <IEmpresa>(); empresa.Add(new Fedex(medioTransporte, new CalculadorMargenUtilidadCostoFedex(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "FEDEX").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "FEDEX").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); empresa.Add(new DHL(medioTransporte, new CalculadorMargenUtilidadCostoDHL(configuracion[1].Periodos, configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "DHL").Select(X => X.MargenUtilidad).FirstOrDefault()), configuracion[2].paqueterias.Where(c => c.Paqueteria.ToUpper() == "DHL").Select(X => X.Medios).FirstOrDefault(), new ParametrosDTO())); break; } return(empresa); }