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
            });
        }
        public void CrearTransporte_CreacionAvion_ObjetoAvionCreadoCorrectamente()
        {
            //Arrange
            string NombreExp        = "AviĆ³n";
            double costoKilometro   = 10;
            double velocidadEntrega = 600;

            //Act
            AvionFactory avionFactory = new AvionFactory();
            ITransporte  avion        = avionFactory.CrearTransporte();

            //Assert
            Assert.AreEqual(NombreExp, avion.Nombre);
            Assert.AreEqual(costoKilometro, avion.CostoXKilometro);
            Assert.AreEqual(velocidadEntrega, avion.VelocidadEntrega);
        }