コード例 #1
0
        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
            });
        }
コード例 #2
0
        public void CrearTransporte_CreacionBarco_ObjetoBarcoCreadoCorrectamente()
        {
            //Arrange
            string NombreExp        = "Barco";
            double costoKilometro   = 1;
            double velocidadEntrega = 46;

            //Act
            BarcoFactory barcoFactory = new BarcoFactory();
            ITransporte  barco        = barcoFactory.CrearTransporte();

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