public void PruebaLaCreacionDeUnBombaToleTole()
        {
            BombaToleTole articulo = new BombaToleTole();

            Assert.IsNotNull(articulo);
            Assert.IsFalse(articulo.FueDestruido());
        }
        public void BombitaAgarreUnBombaToleToleYCambieElTipoDeBombaQueLanza()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            BombaToleTole articulo = new BombaToleTole();
            tablero.AgregarEntidadEnCasillero(articulo, 0, 1);

            bombita.MoverAbajo();
            bombita.LanzarBomba();
            bombita.MoverDerecha();
            bombita.MoverAbajo();

            bombita.Bomba.CuandoPaseElTiempo(1);
            Assert.IsInstanceOf<Molotov>(bombita.Bomba);

            bombita.MoverArriba();
            bombita.MoverArriba();
            bombita.MoverDerecha();
            bombita.LanzarBomba();
            bombita.MoverDerecha();
            bombita.MoverAbajo();
            bombita.Bomba.CuandoPaseElTiempo(10);
            Assert.IsTrue(bombita.Bomba.FueDestruido());
            Assert.IsInstanceOf<ToleTole>(bombita.Bomba);

            bombita.LanzarBomba();
            bombita.MoverDerecha();
            bombita.MoverAbajo();
            bombita.Bomba.CuandoPaseElTiempo(5);
            Assert.IsInstanceOf<ToleTole>(bombita.Bomba);
        }
        public void PruebaQueDaniarUnBombaToleToleConUnaToleToleLoDestruya()
        {
            BombaToleTole articulo = new BombaToleTole();

            articulo.DaniarConToleTole(new ToleTole());

            Assert.IsTrue(articulo.FueDestruido());
        }
        public void CuandoSeTrateDeDaniarUnBombaToleToleYaDestruidoLanceUnaExcepcion()
        {
            BombaToleTole articulo = new BombaToleTole();

            articulo.DaniarConMolotov(new Molotov());

            Assert.Throws<EntidadYaDestruidaException>(() => articulo.DaniarConMolotov(new Molotov()));
        }
        public void PruebaLaCreacionDeUnBombaToleToleEnUnaPosicionDeterminada()
        {
            BombaToleTole articulo = new BombaToleTole(new Casillero(4, 6));

            Assert.IsNotNull(articulo);
            Assert.IsFalse(articulo.FueDestruido());
            Assert.AreEqual(4, articulo.Posicion.Fila);
            Assert.AreEqual(6, articulo.Posicion.Columna);
        }
        public void CuandoUnBombitaUtiliceUnBombaToleToleSusBombasSeanDelTipoToleTole()
        {
            BombaToleTole articulo = new BombaToleTole();
            Bombita bombita = new Bombita();
            int destruccionInicial = bombita.Bomba.Destruccion;

            articulo.UtilizarArticuloEn(bombita);

            int destruccionFinal = bombita.Bomba.Destruccion;

            Assert.Greater(destruccionFinal, destruccionInicial);
        }
Example #7
0
        // Sortea el tipo de articulo a colocar en el casillero y lo agrega si corresponde.
        private void SortearArticuloEnCasillero(int i, int j)
        {
            if (random.Next(1, PROBABILIDAD_ARTICULO) == 1)
            {
                Obstaculo bloque = (Obstaculo)ObtenerCasillero(i, j).Entidad;
                switch (random.Next(1, 4))
                {
                    case 1:
                        Timer timer = new Timer();
                        bloque.Articulo = timer;
                        listaTimer.Add(timer);
                        timer.Posicion = ObtenerCasillero(i,j);
                        return;

                    case 2:
                        Habano habano = new Habano();
                        bloque.Articulo = habano;
                        listaHabano.Add(habano);
                        habano.Posicion = ObtenerCasillero(i, j);
                        return;

                    case 3:
                        BombaToleTole bombaToleTole = new BombaToleTole();
                        bloque.Articulo = bombaToleTole;
                        listaBombaToleTole.Add(bombaToleTole);
                        bombaToleTole.Posicion = ObtenerCasillero(i, j);
                        return;
                }

                //if(articulo != null)
                    //AgregarArticuloEnCasillero(articulo, i, j);
            }
        }
        public void PruebaQueElEfectoDelBombaToleToleLeDureHastaQueMuera()
        {
            BombaToleTole articulo = new BombaToleTole();
            Bombita bombita = new Bombita();
            Assert.IsInstanceOf<Molotov>(bombita.Bomba);

            bombita.AgarrarArticulo(articulo);
            Assert.IsInstanceOf<ToleTole>(bombita.Bomba);

            bombita.DaniarConToleTole(new ToleTole());

            Assert.IsInstanceOf<Molotov>(bombita.Bomba);
        }
        public void CreaUnTableroConBombitaYUnBombaToleToleYMueveABombitaHastaAgarrarlo()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            BombaToleTole articulo = new BombaToleTole();
            tablero.AgregarEntidadEnCasillero(articulo, 0, 2);

            bombita.MoverDerecha();
            bombita.MoverDerecha();
            //Con un articulo, bombita debe agarrarlo y avanzar a su posicion. El articulo no debe estar mas en el tablero
            Assert.IsNull(articulo.Posicion);
            Assert.AreEqual(0, bombita.Posicion.Fila);
            Assert.AreEqual(2, bombita.Posicion.Columna);
            Assert.IsInstanceOf<ToleTole>(bombita.Bomba);
        }
        public void QueBombitaAgarreUnBombaToleToleYQueModifiqueSuTipoDeBombaALanzar()
        {
            Bombita bombita = new Bombita();
            BombaToleTole articulo = new BombaToleTole();
            int destruccionInicial = bombita.Bomba.Destruccion;

            bombita.AgarrarArticulo(articulo);

            Assert.Greater(bombita.Bomba.Destruccion, destruccionInicial);
        }