コード例 #1
0
        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);
        }
コード例 #2
0
        public static void TestIterator()
        {
            Bombero bombero = new Bombero(null);


            BomberoSecretario bs = new BomberoSecretario(bombero);


            //LUGARES
            Calle calle = new Calle(100, 4, 100);
            Casa  a = new Casa(2, 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(2, 20, 3);       Plaza h = new Plaza("", 40, 50, 20);
            Casa  d = new Casa(2, 20, 3);       Plaza i = new Plaza("", 40, 50, 20);
            Casa  e = new Casa(2, 20, 3);       Plaza j = new Plaza("", 40, 50, 20);

            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 TABLERO

            DenunciasPorTablero dpt = new DenunciasPorTablero();

            a.agregarObserador(dpt);
            b.agregarObserador(dpt);
            c.agregarObserador(dpt);
            d.agregarObserador(dpt);
            e.agregarObserador(dpt);
            f.agregarObserador(dpt);

            b.chispa();
            f.chispa();

            //DENUNCIA POR WHATSAPP
            MensajeWhatsapp lista = null;

            lista = new MensajeWhatsapp(new DenunciaDeIncendios(g), lista);
            lista = new MensajeWhatsapp(new DenunciaDeIncendios(h), lista);
            lista = new MensajeWhatsapp(new DenunciaDeIncendios(i), lista);

            DenunciaPorWhatsapp dpw = new DenunciaPorWhatsapp(lista);


            //DENUNCIA POR MOSTRADOR

            DenunciaDeIncendios  den = new DenunciaDeIncendios(j);
            DenunciaPorMostrador dpm = new DenunciaPorMostrador(den);

            bs.atenderDenuncias(dpt);
            bs.atenderDenuncias(dpw);
            bs.atenderDenuncias(dpm);
        }
コード例 #3
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);
        }