public static void TestChainOfResposability()
        {
            Manejador manejador = new Medico(null);

            manejador = new Policia(manejador);
            manejador = new Electricista(manejador);
            manejador = new Bombero(manejador);

            Transeunte paciente = new Transeunte();


            Operador911 operador = new Operador911(manejador);


            //LUGARES
            Calle   calle = new Calle(100, 4, 100);
            Casa    a = new Casa(1, 20, 3);       Plaza f = new Plaza("", 40, 50, 20);
            Casa    b = new Casa(2, 20, 3);       Plaza g = new Plaza("", 40, 50, 20);
            Casa    c = new Casa(3, 20, 3);       Plaza h = new Plaza("", 40, 50, 20);
            Casa    d = new Casa(4, 20, 3);       Plaza i = new Plaza("", 40, 50, 20);
            Casa    e = new Casa(5, 20, 3);       Plaza j = new Plaza("", 40, 50, 20);
            Esquina esquina = new Esquina(4);

            a.Calle = calle; b.Calle = calle; c.Calle = calle; d.Calle = calle; e.Calle = calle; f.Calle = calle; g.Calle = calle; h.Calle = calle; i.Calle = calle; j.Calle = calle;


            //DENUNCIA POR WHATSAPP
            Passerby        passerby         = new Passerby(0.35, 0.45, 0.35);
            AdapterPasserby pacientaAdaptado = new AdapterPasserby(passerby);


            MensajeWhatsapp lista = null;

            //DENUNCIAS DE INCENDIO
            lista = new MensajeWhatsapp(new DenunciaDeIncendios(a), lista);
            lista = new MensajeWhatsapp(new DenunciaDeIncendios(b), lista);
            lista = new MensajeWhatsapp(new DenunciaDeIncendios(c), lista);
            //DENUNCIAS DE INFARTO
            lista = new MensajeWhatsapp(new DenunciaDeInfarto(paciente), lista);
            lista = new MensajeWhatsapp(new DenunciaDeInfarto(pacientaAdaptado), lista);
            //DENUNCIAS DE ROBO
            lista = new MensajeWhatsapp(new DenunciaDeRobo(esquina), lista);
            lista = new MensajeWhatsapp(new DenunciaDeRobo(d), lista);
            lista = new MensajeWhatsapp(new DenunciaDeRobo(e), lista);
            //DENUNCIAS DE LAMPARAS QUEMADAS
            lista = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(f), lista);
            lista = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(g), lista);
            lista = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(h), lista);
            lista = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(i), lista);
            lista = new MensajeWhatsapp(new DenunciaDeLamparaQuemada(j), lista);


            DenunciaPorWhatsapp dpw = new DenunciaPorWhatsapp(lista);


            operador.atenderDenuncias(dpw);
        }
        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);
        }
Exemple #3
0
        public static void run()
        {
            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);


            IResponsable cadenaDeResponsables = new MedicoProxy(null);

            cadenaDeResponsables = new BomberoProxy(cadenaDeResponsables);
            cadenaDeResponsables = new ElectricistaProxy(cadenaDeResponsables);
            cadenaDeResponsables = new PoliciaProxy(cadenaDeResponsables);

            Operador911 operador911 = new Operador911(cadenaDeResponsables);

            //Bombero bombero = new Bombero(null, new Secuencial());
            //BomberoSecretario bomberoSecretario = new BomberoSecretario(bombero);

            Director director = new Director(new BuilderSimple());

            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);
            Lugar G      = new Plaza(director, "Hudson ", 10, 50, calle2);
            Lugar H      = new Plaza(director, "Rotonda", 10, 90, calle3);
            Lugar I      = new Casa(director, 4, 30, 5, calle2);

            MensajeDeWhatsApp lista = null;

            lista = new MensajeDeWhatsApp(new DenunciaDeIncendio(G), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeIncendio(H), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeIncendio(I), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeInfarto(new Transeunte()), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeInfarto(new TranseunteAdapter(new Passerby(30, 40, 80))), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeRobo(calle1), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeRobo(calle2), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeRobo(calle3), lista);
            lista = new MensajeDeWhatsApp(new DenunciaDeLamparaQuemada(calle3), lista);

            IDenuncias denunciaPorMensajeWhatsApp = new DenunciaPorMensajeWhatsApp(lista);

            operador911.atenderDenuncias(denunciaPorMensajeWhatsApp);
        }