public void PruebaLaCreacionDeUnHabano()
        {
            Habano articulo = new Habano();

            Assert.IsNotNull(articulo);
            Assert.IsFalse(articulo.FueDestruido());
        }
        public void PruebaQueDaniarUnHabanoConUnProyectilLoDestruya()
        {
            Habano articulo = new Habano();

            articulo.DaniarConProyectil(new Proyectil());

            Assert.IsTrue(articulo.FueDestruido());
        }
        public void PruebaQueDaniarUnHabanoConUnaToleToleLoDestruya()
        {
            Habano articulo = new Habano();

            articulo.DaniarConToleTole(new ToleTole());

            Assert.IsTrue(articulo.FueDestruido());
        }
        public void PruebaQueDaniarUnHabanoConUnaMolotovLoDestruya()
        {
            Habano articulo = new Habano();

            articulo.DaniarConMolotov(new Molotov());

            Assert.IsTrue(articulo.FueDestruido());
        }
        public void CuandoSeTrateDeDaniarUnHabanoYaDestruidoLanceUnaExcepcion()
        {
            Habano articulo = new Habano();

            articulo.DaniarConMolotov(new Molotov());

            Assert.Throws<EntidadYaDestruidaException>(() => articulo.DaniarConMolotov(new Molotov()));
        }
        public void PruebaLaCreacionDeUnHabanoEnUnaPosicionDeterminada()
        {
            Habano articulo = new Habano(new Casillero(4, 5));

            Assert.IsNotNull(articulo);
            Assert.IsFalse(articulo.FueDestruido());
            Assert.AreEqual(4, articulo.Posicion.Fila);
            Assert.AreEqual(5, articulo.Posicion.Columna);
        }
        public void CuandoUnBombitaUtiliceUnHabanoAumenteSuVelocidad()
        {
            Habano articulo = new Habano();
            Bombita bombita = new Bombita();
            int velocidadInicial = bombita.Velocidad;

            articulo.UtilizarArticuloEn(bombita);
            int velocidadFinal = bombita.Velocidad;

            Assert.Greater(velocidadFinal, velocidadInicial);
        }
Example #8
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 PruebaPosicionarUnArticuloEnLaCasilla()
        {
            Casillero casillero = new Casillero(0, 0);

            Articulo articulo = new Habano();

            casillero.Entidad = articulo;

            Assert.IsNotNull(casillero.Entidad);
        }
        public void CreaUnTableroConBombitaYUnHabanoYMueveABombitaHastaAgarrarlo()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            Habano habano = new Habano();
            tablero.AgregarEntidadEnCasillero(habano, 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(habano.Posicion);
            Assert.AreEqual(0, bombita.Posicion.Fila);
            Assert.AreEqual(2, bombita.Posicion.Columna);
            Assert.AreEqual(10, bombita.Velocidad);
        }
        public void CreaUnTableroConBombitaYUnBloqueConUnArticuloYQueBombitaLoAgarre()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita,0,0);

            BloqueDeCemento bloque = new BloqueDeCemento();
            tablero.AgregarEntidadEnCasillero(bloque, 0, 1);
            Habano habano = new Habano();
            bloque.Articulo = habano;

            bloque.DaniarConToleTole(new ToleTole());

            bombita.MoverDerecha();

            Assert.AreEqual(0, bombita.Posicion.Fila);
            Assert.AreEqual(1, bombita.Posicion.Columna);
            Assert.AreEqual(10, bombita.Velocidad);
        }
        public void PruebaQueElEfectoDelHabanoLeDureHastaQueMuera()
        {
            Habano articulo = new Habano();
            Bombita bombita = new Bombita();
            int velocidadInicial = bombita.Velocidad;

            bombita.AgarrarArticulo(articulo);
            int velocidadIntermedia = bombita.Velocidad;

            bombita.DaniarConToleTole(new ToleTole());
            int velocidadFinal = bombita.Velocidad;

            Assert.AreEqual(velocidadInicial, velocidadFinal);
            Assert.Greater(velocidadIntermedia, velocidadInicial);
            Assert.Greater(velocidadIntermedia, velocidadFinal);
        }
        public void QueBombitaAgarreUnHabanoYQueModifiqueSuVelocidad()
        {
            Bombita bombita = new Bombita();
            Habano articulo = new Habano();
            int velocidadInicial = bombita.Velocidad;

            bombita.AgarrarArticulo(articulo);

            Assert.Greater(bombita.Velocidad, velocidadInicial);
        }