public IPaqueteria CrearPaqueteria(string nombrePaqueteria) { IPaqueteria paqueteria; switch (nombrePaqueteria.ToLowerInvariant()) { case "dhl": DhlFactory dhlFactory = new DhlFactory(); paqueteria = dhlFactory.CrearPaqueteria(); break; case "fedex": FedexFactory fedexFactory = new FedexFactory(); paqueteria = fedexFactory.CrearPaqueteria(); break; case "estafeta": EstafetaFactory estafetaFactory = new EstafetaFactory(); paqueteria = estafetaFactory.CrearPaqueteria(); break; default: throw new ArgumentException($"La Paquetería: [{nombrePaqueteria}] no se encuentra registrada en nuestra red de distribución."); } return(paqueteria); }
public List <IPaqueteria> ObtenerPaqueterias() { ITransporteFactory transporteFactory = new BarcoFactory(); ITransporte barco = transporteFactory.CrearTransporte(); transporteFactory = new TrenFactory(); ITransporte tren = transporteFactory.CrearTransporte(); transporteFactory = new AvionFactory(); ITransporte avion = transporteFactory.CrearTransporte(); IPaqueteriaFactory factory = new FedexFactory(); IPaqueteria fedex = factory.CrearPaqueteria(); fedex.AgregarTransporte(barco); factory = new DhlFactory(); IPaqueteria dhl = factory.CrearPaqueteria(); dhl.AgregarTransporte(avion); dhl.AgregarTransporte(barco); factory = new EstafetaFactory(); IPaqueteria estafeta = factory.CrearPaqueteria(); estafeta.AgregarTransporte(tren); estafeta.AgregarTransporte(barco); return(new List <IPaqueteria>() { fedex, dhl, estafeta }); }
private void GenerarClientesFabricas() { IEmpresaAbstractFactory empresaDhl = new DhlFactory(_tiempoApp, 0); IEmpresaAbstractFactory empresaEstafeta = new EstafetaFactory(_tiempoApp, 0); IEmpresaAbstractFactory empresaFedex = new FedexFactory(_tiempoApp, 0); IClientesFabricas clientesFabricaDhl = new ClienteFabricas(empresaDhl, _tiempoApp, "", "", "", _tiempoApp); IClientesFabricas clientesFabricaEstafeta = new ClienteFabricas(empresaEstafeta, _tiempoApp, "", "", "", _tiempoApp); IClientesFabricas clientesFabricaFedex = new ClienteFabricas(empresaFedex, _tiempoApp, "", "", "", _tiempoApp); _clientesFabricas.Add("dhl", clientesFabricaDhl); _clientesFabricas.Add("estafeta", clientesFabricaEstafeta); _clientesFabricas.Add("fedex", clientesFabricaFedex); }
public void CrearPaqueteria_CreacionDhl_ObjetoDhlCreadoCorrectamente() { //Arrange string nombreExp = "Dhl"; double margenUtilidad = 40; //Act DhlFactory dhlFactory = new DhlFactory(); IPaqueteria paqueteria = dhlFactory.CrearPaqueteria(); //Assert Assert.AreEqual(nombreExp, paqueteria.Nombre); Assert.AreEqual(margenUtilidad, paqueteria.MargenUtilidad); }
public List <IPaqueteria> ObtenerPaqueterias() { List <IPaqueteria> paqueterias = new List <IPaqueteria>(); DhlFactory dhlFactory = new DhlFactory(); FedexFactory fedexFactory = new FedexFactory(); EstafetaFactory estafetaFactory = new EstafetaFactory(); paqueterias.Add(dhlFactory.CrearPaqueteria()); paqueterias.Add(fedexFactory.CrearPaqueteria()); paqueterias.Add(estafetaFactory.CrearPaqueteria()); return(paqueterias); }