Exemplo n.º 1
0
        public static void TestSingleton()
        {
            IFabricaDeHeroes fabrica_electricista = new FabricaDeElectricista();
            IFabricaDeHeroes fabrica_policia      = new FabricaDePolicia();
            IFabricaDeHeroes fabrica_bombero      = new FabricaDeBombero();
            IFabricaDeHeroes fabrica_medico       = new FabricaDeMedico();

            ICuartel central_electrica   = crearHeroe(fabrica_electricista);
            ICuartel comisaria           = crearHeroe(fabrica_policia);
            ICuartel cuartel_de_bomberos = crearHeroe(fabrica_bombero);
            ICuartel hospital            = crearHeroe(fabrica_medico);


            for (int i = 0; i < 4; i++)
            {
                central_electrica = crearHeroe(fabrica_electricista);
            }

            for (int i = 0; i < 4; i++)
            {
                comisaria = crearHeroe(fabrica_policia);
            }

            for (int i = 0; i < 4; i++)
            {
                cuartel_de_bomberos = crearHeroe(fabrica_bombero);
            }

            for (int i = 0; i < 4; i++)
            {
                hospital = crearHeroe(fabrica_medico);
            }


            IResponsable electricista  = central_electrica.getPersonal();
            IResponsable electricista2 = central_electrica.getPersonal();
            IResponsable electricista3 = central_electrica.getPersonal();
            IResponsable electricista4 = central_electrica.getPersonal();

            IResponsable bombero  = cuartel_de_bomberos.getPersonal();
            IResponsable bombero2 = cuartel_de_bomberos.getPersonal();
            IResponsable bombero3 = cuartel_de_bomberos.getPersonal();
            IResponsable bombero4 = cuartel_de_bomberos.getPersonal();

            IResponsable medico  = hospital.getPersonal();
            IResponsable medico2 = hospital.getPersonal();
            IResponsable medico3 = hospital.getPersonal();
            IResponsable medico4 = hospital.getPersonal();

            IResponsable policia  = comisaria.getPersonal();
            IResponsable policia2 = comisaria.getPersonal();
            IResponsable policia3 = comisaria.getPersonal();
            IResponsable policia4 = comisaria.getPersonal();
        }
        //sobreescritura del metodo apagarIncendio de la clase IResponsable
        public override void apagarIncendio(Lugar lugar)
        {
            ICuartel cuartelDeBombero = fabricaDeBombero.crearCuartel();

            Console.WriteLine("Creando Bombero..");
            Console.WriteLine("");
            IResponsable responsable = cuartelDeBombero.getPersonal();

            Console.WriteLine("Asignando Estrategia:");
            Console.WriteLine("1) Secuencial");
            Console.WriteLine("2) Escalera");
            Console.WriteLine("3) Espiral");
            Console.WriteLine("");
            Console.WriteLine("seleccione: ");
            int opcion = int.Parse(Console.ReadLine());

            switch (opcion)
            {
            case 1: { ((Bombero)responsable).setEstrategiaDeApagado(new Secuencial()); break; }

            case 2: { ((Bombero)responsable).setEstrategiaDeApagado(new Escalera()); break; }

            case 3: { ((Bombero)responsable).setEstrategiaDeApagado(new Espiral()); break; }
            }
            Console.WriteLine("Asignado.");
            ((Bombero)responsable).apagarIncendio(lugar);

            cuartelDeBombero.devolverAlICuartl(responsable);
        }
Exemplo n.º 3
0
        public override void patrullarCalles(IPatrullable patrullable)
        {
            ICuartel     comisaria = fabricaDePolicias.crearCuartel();
            IResponsable policia   = comisaria.getPersonal();

            ((Policia)policia).patrullarCalles(patrullable);
            comisaria.devolverAlICuartl(policia);
        }
        public override void atenderInfartado(IInfartable infartable)
        {
            ICuartel     hospital = fabricaDeMedicos.crearCuartel();
            IResponsable medico   = hospital.getPersonal();

            ((Medico)medico).atenderInfartado(infartable);
            hospital.devolverAlICuartl(medico);
        }
Exemplo n.º 5
0
        public static void PatronTemplateMethod()
        {
            Transeunte    transeunte = new Transeunte();
            IResponsable  re         = null;
            FabricaMedico medico     = new FabricaMedico(re);
            ICuartel      cuartel    = crearHeroe(medico);

            cuartel.getPersonal().AtenderInfarto(transeunte);
        }
Exemplo n.º 6
0
        public static void PatronCommand()
        {
            Casa           casa    = new Casa();
            IOrden         aviso   = new VozDeAlto();
            IResponsable   respo   = null;
            FabricaPolicia fabrica = new FabricaPolicia(aviso, casa, respo);
            ICuartel       cuartel = crearHeroe(fabrica);

            cuartel.getPersonal().PatrullarCalles();
        }
Exemplo n.º 7
0
        public static void patronAbstractFactory()
        {
            //Instanciacion de la fabrica de bomberos

            FabricaBombero fabricaBombero = new FabricaBombero();
            ICuartel       cuartel        = crearHeroe(fabricaBombero);
            IResponsable   responsable    = cuartel.getPersonal();

            cuartel.agregarPersonal(responsable);
            cuartel.agregarHerramienta(responsable.getHerramienta());
            cuartel.agregarVehiculo(responsable.getVehiculo());

            //Instanciacion de la fabrica de electricistas

            FabricaElectricista fabricaElectricista = new FabricaElectricista();
            ICuartel            cuartel2            = crearHeroe(fabricaElectricista);
            IResponsable        responsable2        = cuartel.getPersonal();

            cuartel2.agregarPersonal(responsable2);
            cuartel2.agregarHerramienta(responsable2.getHerramienta());
            cuartel2.agregarVehiculo(responsable2.getVehiculo());

            //Intanciacion de la fabrica de policias

            FabricaPolicia fabricaPolicia = new FabricaPolicia();
            ICuartel       cuartel3       = crearHeroe(fabricaPolicia);
            IResponsable   responsable3   = cuartel3.getPersonal();

            cuartel3.agregarPersonal(responsable3);
            cuartel3.agregarHerramienta(responsable3.getHerramienta());
            cuartel3.agregarVehiculo(responsable3.getVehiculo());

            //Instanciacion de la fabrica de medicos

            FabricaMedico fabricaMedico = new FabricaMedico();
            ICuartel      cuartel4      = crearHeroe(fabricaMedico);
            IResponsable  responsable4  = cuartel.getPersonal();

            cuartel4.agregarPersonal(responsable4);
            cuartel4.agregarHerramienta(responsable4.getHerramienta());
            cuartel4.agregarVehiculo(responsable4.getVehiculo());
        }
Exemplo n.º 8
0
        public static void PatronAdapter()
        {
            Passerby    extranjero = new Passerby(30, 30, 30);
            IInfartable transeunte = new Adapter(extranjero);

            IResponsable  re      = null;
            FabricaMedico medico  = new FabricaMedico(re);
            ICuartel      cuartel = crearHeroe(medico);

            cuartel.getPersonal().AtenderInfarto(transeunte);
        }
Exemplo n.º 9
0
        public static void PatronDecorator()
        {
            IStrategy      estrategia  = new Secuencial();
            Director       director    = new Director();
            var            builder     = new BuilderFavorable();
            Casa           casa        = new Casa(10, 9, 12, director, builder);
            Calle          calle       = new Calle(10, 12, 10);
            IResponsable   responsable = null;
            Decorator      pastoSeco   = new PastoSeco(casa.crearSector(10, 10, 10));
            FabricaBombero FBombero    = new FabricaBombero(estrategia, pastoSeco, responsable);

            ICuartel cuartel = crearHeroe(FBombero);

            cuartel.getPersonal().ApagarIncendio(casa, calle);
        }
Exemplo n.º 10
0
        public static void patronObserver()
        {
            IStrategy      estrategia  = new Secuencial();
            Director       director    = new Director();
            var            builder     = new BuilderFavorable();
            Casa           casa        = new Casa(410, 9, 12, director, builder);
            Decorator      pasto       = new PastoSeco(casa.crearSector(1, 15, 10));
            IResponsable   responsable = null;
            FabricaBombero FBombero    = new FabricaBombero(estrategia, pasto, responsable);
            ICuartel       cuartel     = crearHeroe(FBombero);
            Calle          calle       = new Calle(12, 12, 20);

            casa.Calle = calle;
            casa.agregar((Bombero)cuartel.getPersonal());
            casa.Chispa();
        }
Exemplo n.º 11
0
        public static void pruebaPatronAbstractFactory()
        {
            //CREANDO LAS FABRICAS CONCRETAS DE CADA HEROE

            IFabricaDeHeroes fabricaPolicias     = new FabricaDePolicias();
            IFabricaDeHeroes fabricaBomberos     = new FabricaDeBomberos();
            IFabricaDeHeroes fabricaElectricista = new FabricaDeElectricistas();
            IFabricaDeHeroes fabricaMedicos      = new FabricaDeMedicos();

            //INVOCANDO AL METODO DE CLASE ESTATICO CREARHEROE QUE RECIBE UNA FABRICA Y SE ENCARGA DE CREAR
            //EL HEROE, EL VEHICULO Y LA HERRAMIENTA PARA ALMACENARLO EN UN CUARTEL Y RETORNAR EL IRESPONSABLE

            //CREANDO CUARTEL
            ICuartel cuartelPolicias = crearHeroe(fabricaPolicias);
            //LE SOLICITAMOS EL IRESPONSABLE(RESPONSABLE CON SU VEHICULO Y HERRAMIENTA) AL CUARTEL
            Policia policiaResponsable = (Policia)cuartelPolicias.getPersonal();

            policiaResponsable.setOrdenPolicial(new OrdenPerseguirDelincuente());
            policiaResponsable.PatrullarCalles(new Plaza());
            Console.WriteLine();

            ICuartel cuartelBomberos    = crearHeroe(fabricaBomberos);
            Bombero  bomberoResponsable = (Bombero)cuartelBomberos.getPersonal();

            bomberoResponsable.setEstrategia(new Escalera());
            bomberoResponsable.ApagarIncendio2(new Plaza(9, new ConstructorSimple()), new Calle(50));
            Console.WriteLine();

            ICuartel     cuartelElectricista     = crearHeroe(fabricaElectricista);
            Electricista electricistaResponsable = (Electricista)cuartelElectricista.getPersonal();
            Plaza        objPlaza = new Plaza();

            objPlaza.SetCantidadFarolas(10);
            electricistaResponsable.Revisar(objPlaza);
            Console.WriteLine();

            ICuartel cuartelMedicos    = crearHeroe(fabricaMedicos);
            Medico   medicoResponsable = (Medico)cuartelMedicos.getPersonal();

            medicoResponsable.setProtocolo(new ProtocoloB());
            medicoResponsable.AtenderInfarto(new Transeunte());
            Console.WriteLine();
        }
Exemplo n.º 12
0
        public static void PatronComposite()
        {
            IResponsable        responsable   = null;
            Electricista        electricista  = new Electricista(responsable);
            FabricaElectricista FElectricista = new FabricaElectricista(electricista);
            ICuartel            cuartel       = crearHeroe(FElectricista);
            Esquina             e1            = new Esquina();
            Esquina             e2            = new Esquina();
            Esquina             e3            = new Esquina();

            Composite c1 = new Composite();
            Composite c2 = new Composite();
            Composite c3 = new Composite();

            c1.agregar(e1);
            c1.agregar(e2);
            c2.agregar(e3);
            c3.agregar(c2);
            c3.agregar(c1);

            cuartel.getPersonal().Revisar(c3);
        }
Exemplo n.º 13
0
        public static void PatronChainOfResponsability()
        {
            Casa        casa       = new Casa();
            IOrden      aviso      = new VozDeAlto();
            IInfartable transeunte = new Transeunte();
            IIluminable esquina    = new Esquina(10);



            DenunciaDeInfarto        infarto = new DenunciaDeInfarto(transeunte);
            DenunciaDeRobo           robo    = new DenunciaDeRobo(casa);
            DenunciaDeLamparaQuemada lampara = new DenunciaDeLamparaQuemada(esquina);
            MensajeWhatsapp          mensaje = null;

            mensaje = new MensajeWhatsapp(infarto, mensaje);
            mensaje = new MensajeWhatsapp(robo, mensaje);
            mensaje = new MensajeWhatsapp(lampara, mensaje);
            DenunciaPorWhatsapp denunciaWhatsapp = new DenunciaPorWhatsapp(mensaje);

            IResponsable resposable = null;

            FabricaMedico       Fmedico       = new FabricaMedico(resposable);
            FabricaPolicia      Fpolicia      = new FabricaPolicia(aviso, casa, resposable);
            FabricaElectricista Felectricista = new FabricaElectricista(resposable);

            ICuartel cuartelEle = crearHeroe(Felectricista);
            ICuartel cuartelPo  = crearHeroe(Fpolicia);
            ICuartel cuartelMe  = crearHeroe(Fmedico);

            resposable = cuartelMe.getPersonal();
            resposable = cuartelPo.getPersonal();
            resposable = cuartelEle.getPersonal();

            Operador911 operador = new Operador911(resposable);

            operador.atenderDenuncias(denunciaWhatsapp);
        }
Exemplo n.º 14
0
        public static void run()
        {
            Console.WriteLine("Se utiliza el main del patron Singlenton, ya que aca estan los cuarteles creados y cargados");

            Console.WriteLine("Creando ecenario del testing...");
            Console.WriteLine("");
            Console.WriteLine("Se han creado cuatro fabrica de herores");
            Console.WriteLine("");

            IFabricaDeHeroes bombero      = new HeroeBombero();
            IFabricaDeHeroes Policia      = new HeroePolicia();
            IFabricaDeHeroes Medico       = new HeroeMedico();
            IFabricaDeHeroes Electricista = new HeroeElectricista();

            //Creo 4 cuarteles y le cargo 4 heroes , 4 herramientas y 4 vehiculos

            ICuartel cuartelDeBomberos = crearHeroe(bombero);

            cuartelDeBomberos = crearHeroe(bombero);
            cuartelDeBomberos = crearHeroe(bombero);
            cuartelDeBomberos = crearHeroe(bombero);
            cuartelDeBomberos = crearHeroe(bombero);

            ICuartel Comisaria = crearHeroe(Policia);

            Comisaria = crearHeroe(Policia);
            Comisaria = crearHeroe(Policia);
            Comisaria = crearHeroe(Policia);
            Comisaria = crearHeroe(Policia);

            ICuartel Hospital = crearHeroe(Medico);

            Hospital = crearHeroe(Medico);
            Hospital = crearHeroe(Medico);
            Hospital = crearHeroe(Medico);
            Hospital = crearHeroe(Medico);

            ICuartel CentralElectrica = crearHeroe(Electricista);

            CentralElectrica = crearHeroe(Electricista);
            CentralElectrica = crearHeroe(Electricista);
            CentralElectrica = crearHeroe(Electricista);
            CentralElectrica = crearHeroe(Electricista);

            //Obtengo cuatro personales de cada cuartel

            IResponsable bombero1 = cuartelDeBomberos.getPersonal();
            IResponsable bombero2 = cuartelDeBomberos.getPersonal();
            IResponsable bombero3 = cuartelDeBomberos.getPersonal();
            IResponsable bombero4 = cuartelDeBomberos.getPersonal();

            IResponsable policia1 = Comisaria.getPersonal();
            IResponsable policia2 = Comisaria.getPersonal();
            IResponsable policia3 = Comisaria.getPersonal();
            IResponsable policia4 = Comisaria.getPersonal();

            IResponsable medico1 = Hospital.getPersonal();
            IResponsable medico2 = Hospital.getPersonal();
            IResponsable medico3 = Hospital.getPersonal();
            IResponsable medico4 = Hospital.getPersonal();

            IResponsable electrisista1 = CentralElectrica.getPersonal();
            IResponsable electrisista2 = CentralElectrica.getPersonal();
            IResponsable electrisista3 = CentralElectrica.getPersonal();
            IResponsable electrisista4 = CentralElectrica.getPersonal();

            //mando a la accion a los heroes


            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroes Bombero");
            Console.WriteLine("---------------------------------------------------------------");

            imprimirHeroeAlctual("Bombero 1");
            ((Bombero)bombero1).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero1).setLugar(new Casa(null, 4, 10, 2, new Calle("pergamono", 100, 4, 30)));
            bombero1.apagarIncendio(((Bombero)bombero1).getLugar());
            ((Bombero)bombero1).setEstrategiaDeApagado(null);
            ((Bombero)bombero1).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero1);


            imprimirHeroeAlctual("Bombero 2");
            ((Bombero)bombero2).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero2).setLugar(new Casa(null, 4, 10, 2, new Calle("Pedriel", 100, 4, 30)));
            bombero2.apagarIncendio(((Bombero)bombero2).getLugar());
            ((Bombero)bombero2).setEstrategiaDeApagado(null);
            ((Bombero)bombero2).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero2);


            imprimirHeroeAlctual("Bombero 3");
            ((Bombero)bombero3).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero3).setLugar(new Plaza(null, "Americas", 10, 40, new Calle("pergamono", 100, 4, 30)));
            bombero3.apagarIncendio(((Bombero)bombero3).getLugar());
            ((Bombero)bombero3).setEstrategiaDeApagado(null);
            ((Bombero)bombero3).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero3);


            imprimirHeroeAlctual("Bombero 4");
            ((Bombero)bombero4).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bombero4).setLugar(new Casa(null, 4, 10, 2, new Calle("pergamono", 100, 4, 30)));
            bombero4.apagarIncendio(((Bombero)bombero4).getLugar());
            ((Bombero)bombero4).setEstrategiaDeApagado(null);
            ((Bombero)bombero4).setLugar(null);
            cuartelDeBomberos.devolverAlICuartl(bombero4);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Policia");
            Console.WriteLine("---------------------------------------------------------------");

            imprimirHeroeAlctual("Policia 1");
            policia1.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia1);

            imprimirHeroeAlctual("Policia 2");
            policia2.patrullarCalles(new Calle("Oncativo", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia2);

            imprimirHeroeAlctual("Policia 3");
            policia3.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia3);

            imprimirHeroeAlctual("Policia 4");
            policia4.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(policia4);


            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Medico");
            Console.WriteLine("---------------------------------------------------------------");

            imprimirHeroeAlctual("Medico 1");
            medico1.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico1);

            imprimirHeroeAlctual("Medico 2");
            medico2.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico2);

            imprimirHeroeAlctual("Medico 3");
            medico3.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico3);

            imprimirHeroeAlctual("Medico 4");
            medico4.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(medico4);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Electricista");
            Console.WriteLine("---------------------------------------------------------------");

            //creo una manzana en comun para el testing
            Esquina esquina1 = new Esquina("Oncativo y Pedriel", 12);
            Esquina esquina2 = new Esquina("Brochero y Pedriel", 4);
            Esquina esquina3 = new Esquina("Oncativo y Pinochado", 5);
            Esquina esquina4 = new Esquina("O y Pedriel", 12);

            Calle calle1 = new Calle("Pergamino", 100, 4, 50);
            Calle calle2 = new Calle("Brochero", 100, 7, 50);
            Calle calle3 = new Calle("Pedriel", 100, 6, 50);
            Calle calle4 = new Calle("Oncativo", 100, 8, 50);

            Plaza plaza = new Plaza(null, "Americas", 10, 40, calle1);

            lugarCompuesto manzana1 = new lugarCompuesto();

            manzana1.agregarLugar(esquina1);
            manzana1.agregarLugar(esquina2);
            manzana1.agregarLugar(esquina3);
            manzana1.agregarLugar(esquina4);
            manzana1.agregarLugar(calle1);
            manzana1.agregarLugar(calle2);
            manzana1.agregarLugar(calle3);
            manzana1.agregarLugar(calle4);
            manzana1.agregarLugar(plaza);


            //mando a cada electrisista a revisar y cambiar las lamparas quemadas

            imprimirHeroeAlctual("Electricista 1");
            electrisista1.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista1);

            imprimirHeroeAlctual("Electricista 2");
            electrisista2.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista2);

            imprimirHeroeAlctual("Electricista 3");
            electrisista3.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista3);

            imprimirHeroeAlctual("Electricista 4");
            electrisista4.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(electrisista4);
        }
        public static void run()
        {
            Console.WriteLine("Creando ecenario del testing...");
            Console.WriteLine("");
            Console.WriteLine("Se han creado cuatro fabrica de herores");
            Console.WriteLine("");

            IFabricaDeHeroes bombero      = new HeroeBombero();
            IFabricaDeHeroes Policia      = new HeroePolicia();
            IFabricaDeHeroes Medico       = new HeroeMedico();
            IFabricaDeHeroes Electricista = new HeroeElectricista();

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Bombero");
            Console.WriteLine("---------------------------------------------------------------");

            ICuartel     CuartelDeBombero   = crearHeroe(bombero);
            IResponsable bomberoResponsable = CuartelDeBombero.getPersonal();

            ((Bombero)bomberoResponsable).setEstrategiaDeApagado(new Secuencial());
            ((Bombero)bomberoResponsable).setLugar(new Casa(null, 4, 10, 2, new Calle("pergamono", 100, 4, 30)));
            bomberoResponsable.apagarIncendio(((Bombero)bomberoResponsable).getLugar());
            ((Bombero)bomberoResponsable).setEstrategiaDeApagado(null);
            ((Bombero)bomberoResponsable).setLugar(null);
            CuartelDeBombero.devolverAlICuartl(bomberoResponsable);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Policia");
            Console.WriteLine("---------------------------------------------------------------");

            ICuartel     Comisaria          = crearHeroe(Policia);
            IResponsable PoliciaResponsable = Comisaria.getPersonal();

            PoliciaResponsable.patrullarCalles(new Calle("pergamono", 100, 4, 30));
            Comisaria.devolverAlICuartl(PoliciaResponsable);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Medico");
            Console.WriteLine("---------------------------------------------------------------");

            ICuartel     Hospital          = crearHeroe(Medico);
            IResponsable MedicoResponsable = Hospital.getPersonal();

            MedicoResponsable.atenderInfartado(new Transeunte());
            Hospital.devolverAlICuartl(MedicoResponsable);

            Console.WriteLine("---------------------------------------------------------------");
            Console.WriteLine("Ejecuntado con Heroe Electricista");
            Console.WriteLine("---------------------------------------------------------------");

            //creo una manzana primera Manzana
            Esquina esquina1 = new Esquina("Oncativo y Pedriel", 12);
            Esquina esquina2 = new Esquina("Brochero y Pedriel", 4);
            Esquina esquina3 = new Esquina("Oncativo y Pinochado", 5);
            Esquina esquina4 = new Esquina("O y Pedriel", 12);

            Calle calle1 = new Calle("Pergamino", 100, 4, 50);
            Calle calle2 = new Calle("Brochero", 100, 7, 50);
            Calle calle3 = new Calle("Pedriel", 100, 6, 50);
            Calle calle4 = new Calle("Oncativo", 100, 8, 50);

            Plaza plaza = new Plaza(null, "Americas", 10, 40, calle1);

            lugarCompuesto manzana1 = new lugarCompuesto();

            manzana1.agregarLugar(esquina1);
            manzana1.agregarLugar(esquina2);
            manzana1.agregarLugar(esquina3);
            manzana1.agregarLugar(esquina4);
            manzana1.agregarLugar(calle1);
            manzana1.agregarLugar(calle2);
            manzana1.agregarLugar(calle3);
            manzana1.agregarLugar(calle4);
            manzana1.agregarLugar(plaza);

            ICuartel     CentralElectrica        = crearHeroe(Electricista);
            IResponsable ElectricistaResponsable = CentralElectrica.getPersonal();

            ElectricistaResponsable.cambiarLamparasQuemadas(manzana1);
            CentralElectrica.devolverAlICuartl(ElectricistaResponsable);
        }
Exemplo n.º 16
0
        public static void TestAbstractFactory()
        {
            IFabricaDeHeroes fabrica_electricista = new FabricaDeElectricista();
            IFabricaDeHeroes fabrica_policia      = new FabricaDePolicia();
            IFabricaDeHeroes fabrica_bombero      = new FabricaDeBombero();
            IFabricaDeHeroes fabrica_medico       = new FabricaDeMedico();

            ICuartel central_electrica   = crearHeroe(fabrica_electricista);
            ICuartel comisaria           = crearHeroe(fabrica_policia);
            ICuartel cuartel_de_bomberos = crearHeroe(fabrica_bombero);
            ICuartel hospital            = crearHeroe(fabrica_medico);


            IResponsable electricista = central_electrica.getPersonal();

            IResponsable bombero = cuartel_de_bomberos.getPersonal();

            IResponsable medico = hospital.getPersonal();

            IResponsable policia = comisaria.getPersonal();



            Plaza       plaza = new Plaza("luz", 40, 19, 10);
            Esquina     esquina = new Esquina(4);
            Casa        casa = new Casa(1, 40, 5); Calle calle = new Calle(100, 4, 85); casa.Calle = calle;
            IInfartable trauseunte = new Transeunte();

            Console.ForegroundColor = ConsoleColor.Red;
            ((Electricista)electricista).revisar(plaza);


            //guardando electricista al cuartel, su herramienta y vehiculo
            central_electrica.agregarherramienta(((Electricista)electricista).Herramienta);
            central_electrica.agregarVehiculo(((Electricista)electricista).Vehiculo);

            ((Electricista)electricista).Herramienta = null;
            ((Electricista)electricista).Vehiculo    = null;
            central_electrica.agregarPersonal(electricista);
            electricista = null;


            Console.ForegroundColor = ConsoleColor.Green;
            ((Policia)policia).patrullarCalles(esquina);

            //guardando policia al cuartel, su herramienta y vehiculo
            comisaria.agregarherramienta(((Policia)policia).Herramienta);
            comisaria.agregarVehiculo(((Policia)policia).Vehiculo);
            ((Policia)policia).Herramienta = null;
            ((Policia)policia).Vehiculo    = null;
            comisaria.agregarPersonal(policia);
            policia = null;


            Console.ForegroundColor = ConsoleColor.Cyan;
            ((Bombero)bombero).apagarIncendio(casa, casa.Calle);


            //guardando bombero al cuartel, su herramienta y vehiculo
            cuartel_de_bomberos.agregarherramienta(((Bombero)bombero).Herramienta);
            cuartel_de_bomberos.agregarVehiculo(((Bombero)bombero).Vehiculo);
            ((Bombero)bombero).Herramienta = null;
            ((Bombero)bombero).Vehiculo    = null;
            cuartel_de_bomberos.agregarPersonal(bombero);
            bombero = null;

            Console.ForegroundColor = ConsoleColor.DarkYellow;
            ((Medico)medico).atenderInfarto(trauseunte);

            //guardando medico al cuartel, su herramienta y vehiculo
            hospital.agregarherramienta(((Medico)medico).Herramienta);
            hospital.agregarVehiculo(((Medico)medico).Vehiculo);
            ((Medico)medico).Herramienta = null;
            ((Medico)medico).Vehiculo    = null;
            hospital.agregarPersonal(medico);
            medico = null;
        }