public void CuandoCecilioPlantaUnaMolotovDestruyendoABombitaYSafa()
        {
            Punto pBombita = new Punto(0, 0);
            Punto pCecil = new Punto(0, 1);

            Bombita bombita = new Bombita(pBombita);
            Cecilio unCecil = new Cecilio(pCecil);
            Juego.Instancia().Ambiente.AgregarPersonaje(bombita);
            Juego.Instancia().Ambiente.AgregarPersonaje(unCecil);

            unCecil.LanzarExplosivo();
            unCecil.Movimiento.CambiarAAbajo();
            unCecil.Mover();
            unCecil.Movimiento.CambiarADerecha();
            unCecil.Mover();

            //escapa Cecilio antes de que explote
            System.Threading.Thread.Sleep(3000);
            Juego.Instancia().AvanzarElTiempo();
            Juego.Instancia().AvanzarElTiempo();
            Juego.Instancia().AvanzarElTiempo();

            Assert.IsFalse(unCecil.Destruido());
            Assert.IsTrue(bombita.Destruido());
        }
        public void CecilioPlantaUnaBombaEnUnaCasillaTransitadaPorVariosEnemigosYEstosMuerenTodosPorElloNoHayNadieTransitandoDespues()
        {
            Punto puntoTransito = new Punto(5,0);
            Cecilio unCecilio = new Cecilio(puntoTransito);
            Cecilio otroCecilio = new Cecilio(puntoTransito);
            Cecilio Cecilio = new Cecilio(puntoTransito);
            LosLopezReggaeAlado unLRA = new LosLopezReggaeAlado(puntoTransito);
            LosLopezReggaeAlado otroLRA = new LosLopezReggaeAlado(puntoTransito);
            LosLopezReggaeAlado LRA = new LosLopezReggaeAlado(puntoTransito);
            Casilla casillaTransitada = Juego.Instancia().Ambiente.ObtenerCasilla(puntoTransito);

            casillaTransitada.Transitar(unCecilio);
            casillaTransitada.Transitar(Cecilio);
            casillaTransitada.Transitar(otroCecilio);
            casillaTransitada.Transitar(unLRA);
            casillaTransitada.Transitar(LRA);
            casillaTransitada.Transitar(otroLRA);

            Assert.AreEqual(casillaTransitada.TransitandoEnCasilla.Count, 6);

            unCecilio.LanzarExplosivo();

            Assert.IsInstanceOf(typeof(BombaMolotov), casillaTransitada.Explosivo);
            System.Threading.Thread.Sleep(3000);
            this.unJuego.AvanzarElTiempo();
            this.unJuego.AvanzarElTiempo();
            this.unJuego.AvanzarElTiempo();

            Assert.IsTrue(unCecilio.Destruido());
            Assert.IsTrue(LRA.Destruido());
            Assert.IsTrue(otroCecilio.Destruido());
            Assert.IsTrue(Cecilio.Destruido());
            Assert.IsTrue(unLRA.Destruido());
            Assert.IsTrue(otroLRA.Destruido());

            Assert.AreEqual(casillaTransitada.TransitandoEnCasilla.Count, 0);
        }
        public void CuandoCecilioPlantaUnaMolotovDestruyendoABombitaYASiMismo()
        {
            Punto pBombita = new Punto(1, 0);
            Punto pCecil = new Punto(0, 0);

            Bombita bombita = new Bombita(pBombita);
            Cecilio unCecil = new Cecilio(pCecil);
            Juego.Instancia().Ambiente.AgregarPersonaje(bombita);
            Juego.Instancia().Ambiente.AgregarPersonaje(unCecil);

            unCecil.LanzarExplosivo();
            System.Threading.Thread.Sleep(3000);
            Juego.Instancia().AvanzarElTiempo();
            Juego.Instancia().AvanzarElTiempo();
            Juego.Instancia().AvanzarElTiempo();

            Assert.IsTrue(unCecil.Destruido());
            Assert.IsTrue(bombita.Destruido());
        }