예제 #1
0
        public void PruebaQueCuandoSeIntentaAccederAUnCasilleroFueraDeRangoLanceUnaExcepcion()
        {
            Tablero tablero = new Tablero();

            Casillero casillero;

            Assert.Throws<CasilleroFueraDeRangoException>(() => casillero = tablero.ObtenerCasillero(35, 1));
        }
예제 #2
0
        public void PruebaQueDevuelvaElCasilleroDeUnaPosicionDada()
        {
            Tablero tablero = new Tablero();

            Casillero casillero = tablero.ObtenerCasillero(1, 2);

            Assert.AreEqual(2, casillero.Columna);
            Assert.AreEqual(1, casillero.Fila);
        }
예제 #3
0
        public void PruebaAgregarUnaEntidadAUnaCasillaDelTableroYVerificarQueEstaVacioDevuelvaFalse()
        {
            Tablero tablero = new Tablero();
            BloqueDeAcero bloque = new BloqueDeAcero();
            tablero.AgregarEntidadEnCasillero(bloque, 0, 0);

            Assert.IsFalse(bloque.Posicion.EstaVacio());
            Assert.IsFalse(tablero.ObtenerCasillero(0, 0).EstaVacio());
        }
        public void PruebaObtenerLaCasillaPosicionadaArriba()
        {
            Tablero tablero = new Tablero();
            Casillero casilleroActual = tablero.ObtenerCasillero(1, 1);

            Casillero casilleroArriba = casilleroActual.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.NORTE, tablero);

            Assert.AreEqual(0, casilleroArriba.Fila);
            Assert.AreEqual(1, casilleroArriba.Columna);
        }
        public void PruebaObtenerLaCasillaPosicionadaALaIzquierda()
        {
            Tablero tablero = new Tablero();
            Casillero casilleroActual = tablero.ObtenerCasillero(1, 1);

            Casillero casilleroIzquierdo = casilleroActual.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.OESTE, tablero);

            Assert.AreEqual(1, casilleroIzquierdo.Fila);
            Assert.AreEqual(0, casilleroIzquierdo.Columna);
        }
        public void PruebaObtenerLaCasillaPosicionadaAbajo()
        {
            Tablero tablero = new Tablero();
            Casillero casilleroActual = tablero.ObtenerCasillero(1, 1);

            Casillero casilleroAbajo = casilleroActual.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.SUR, tablero);

            Assert.AreEqual(2, casilleroAbajo.Fila);
            Assert.AreEqual(1, casilleroAbajo.Columna);
        }
        public void QueUnBloqueDeCementoSeaDestruidoYDejeUnArticulo()
        {
            Tablero tablero = new Tablero();
            BloqueDeCemento bloque = new BloqueDeCemento();
            tablero.AgregarEntidadEnCasillero(bloque, 0, 0);
            Timer timer = new Timer();
            bloque.Articulo = timer;

            Assert.IsNull(timer.Posicion);

            bloque.DaniarConToleTole(new ToleTole());//Lo destruyo

            Assert.AreEqual(tablero.ObtenerCasillero(0, 0).Entidad, timer);
            Assert.AreEqual(0, timer.Posicion.Fila);
            Assert.AreEqual(0, timer.Posicion.Columna);
        }
예제 #8
0
 // retorna la casilla adyacente en la direccion pasada
 public virtual Casillero ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(int[] direccion, Tablero tablero)
 {
     return (tablero.ObtenerCasillero(this.fila + direccion[0], this.columna + direccion[1]));
 }
예제 #9
0
 public void PruebaTableroInicializadoConBloquesDeAcero()
 {
     Tablero tablero = new Tablero(true);
     Assert.IsInstanceOf<BloqueDeAcero>(tablero.ObtenerCasillero(1, 1).Entidad);
     Assert.IsInstanceOf<BloqueDeAcero>(tablero.ObtenerCasillero(29, 29).Entidad);
     Assert.IsInstanceOf<BloqueDeAcero>(tablero.ObtenerCasillero(15, 1).Entidad);
     Assert.IsNotInstanceOf<BloqueDeAcero>(tablero.ObtenerCasillero(0, 0).Entidad);
     Assert.IsNotInstanceOf<BloqueDeAcero>(tablero.ObtenerCasillero(2, 24).Entidad);
 }