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 BombitaAgarreUnTimerYSusBombasTardenMasEnExplotar() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0) Timer articulo = new Timer(); tablero.AgregarEntidadEnCasillero(articulo, 0, 1); bombita.MoverAbajo(); bombita.LanzarBomba(); bombita.MoverDerecha(); bombita.MoverAbajo(); bombita.Bomba.CuandoPaseElTiempo(1); Assert.IsTrue(bombita.Bomba.FueDestruido()); bombita.MoverArriba(); bombita.MoverArriba(); Assert.AreEqual(0.85,bombita.PorcentajeDeRetardo); bombita.MoverDerecha(); bombita.LanzarBomba(); bombita.MoverDerecha(); bombita.MoverAbajo(); bombita.Bomba.CuandoPaseElTiempo(0.9); Assert.IsTrue(bombita.Bomba.FueDestruido()); Assert.AreEqual(3, bombita.Vidas); }
public void PruebaQueCuandoBombitaLoAgarrePaseDeNivel() { Tablero tablero = new Tablero(); Salida salida = new Salida(); tablero.AgregarEntidadEnCasillero(salida, 5, 5); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 6, 5); bombita.MoverArriba(); Assert.AreEqual(2, tablero.NivelActual); }
public void PruebaQueUnaMolotovNoLoDestruya() { Tablero tablero = new Tablero(); Salida salida = new Salida(); tablero.AgregarEntidadEnCasillero(salida, 5, 5); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 5, 6); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(5); Assert.IsFalse(salida.FueDestruido()); }
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 CuandoSeMueveBombitaALaDerechaCambiaSuPosicionEnElTablero() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 0, 0); bombita.MoverDerecha(); Assert.AreEqual(1, bombita.Posicion.Columna); Assert.AreEqual(0, bombita.Posicion.Fila); }
public void CuandoSeMueveLopezRALaDerechaCambiaSuPosicionEnElTablero() { Tablero tablero = new Tablero(); LopezR lopez = new LopezR(); tablero.AgregarEntidadEnCasillero(lopez, 0, 0); lopez.MoverDerecha(); Assert.AreEqual(1, lopez.Posicion.Columna); Assert.AreEqual(0, lopez.Posicion.Fila); }
public void PruebaLaCreacionDeUnaSalidaEnUnaPosicionDeterminadaEnUnTablero() { Tablero tablero = new Tablero(); Salida salida = new Salida(); tablero.AgregarEntidadEnCasillero(salida, 5, 5); Assert.IsNotNull(salida); Assert.IsFalse(salida.FueDestruido()); Assert.AreEqual(5, salida.Posicion.Fila); Assert.AreEqual(5, salida.Posicion.Columna); }
public void PruebaQueSeGuardeCorrectamenteLaPosicionDeBombita() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 5, 6); Casillero casillero = tablero.PosicionBombita; Assert.AreEqual(5, casillero.Fila); Assert.AreEqual(6, casillero.Columna); }
public void CuandoSeMueveCecilioALaDerechaCambiaSuPosicionEnElTablero() { Tablero tablero = new Tablero(); Cecilio cecilio = new Cecilio(); tablero.AgregarEntidadEnCasillero(cecilio, 0, 0); cecilio.MoverDerecha(); Assert.AreEqual(1, cecilio.Posicion.Columna); Assert.AreEqual(0, cecilio.Posicion.Fila); }
public void PruebaQueUnaMolotovCuandoSeActivaYNoPasaTiempoNoEsteDestruida() { Tablero tablero = new Tablero(); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(0); Assert.IsFalse(bomba.FueDestruido()); }
public void PruebaQueUnaMolotovCuandoSeActivaSiSeQuiereVolverAExplotarLanceUnaExcepcion() { Tablero tablero = new Tablero(); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(5); Assert.Throws<EntidadYaDestruidaException>(() => bomba.ActivarBomba()); }
public void PruebaQueUnaMolotovCuandoSeActivaLuegoDeQuePaseUnTiempo1EsteDestruida() { Tablero tablero = new Tablero(); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(1); Assert.IsTrue(bomba.FueDestruido()); }
public void PruebaQueSeGuardeCorrectamenteLaPosicionDeBombitaCuandoSeMueve() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 0, 0); bombita.MoverAbajo(); Casillero casillero = tablero.PosicionBombita; Assert.AreEqual(1, casillero.Fila); Assert.AreEqual(0, casillero.Columna); }
public void PruebaQueDaniarloNoLoDestruya() { Tablero tablero = new Tablero(); Salida salida = new Salida(); tablero.AgregarEntidadEnCasillero(salida, 5, 5); salida.DaniarConMolotov(new Molotov()); Assert.IsFalse(salida.FueDestruido()); salida.DaniarConProyectil(new Proyectil()); Assert.IsFalse(salida.FueDestruido()); salida.DaniarConToleTole(new ToleTole()); Assert.IsFalse(salida.FueDestruido()); }
public void PruebaQueUnaToleToleCuandoSeActivaLuegoDeQuePaseUnTiempo5EsteDestruida() { Tablero tablero = new Tablero(); ToleTole bomba = new ToleTole(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(2); Assert.IsFalse(bomba.FueDestruido()); bomba.CuandoPaseElTiempo(3); Assert.IsTrue(bomba.FueDestruido()); }
public void PruebaQueUnProyectilCuandoSeActivaLuegoDeQuePaseUnTiempo0EsteDestruida() { Tablero tablero = new Tablero(); Proyectil bomba = new Proyectil(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(0); Assert.IsTrue(bomba.FueDestruido()); }
public void QueBombitaNoSeaDaniadoCuandoSeLeLanzaUnProyectilYEstaAtrasDeUnBloque() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 1, 2);// Arranca en (0,0) LopezR enemigo = new LopezR(); tablero.AgregarEntidadEnCasillero(enemigo, 1, 5); BloqueDeAcero bloque = new BloqueDeAcero(); tablero.AgregarEntidadEnCasillero(bloque, 1, 3); Bomba bomba = enemigo.Bomba; enemigo.LanzarBomba(); bomba.CuandoPaseElTiempo(5); Assert.AreEqual(3, bombita.Vidas); }
public void IntentarMoverseAUnaPosicionInvalidaDejaACecilioEnElLugarQueEstaba() { Tablero tablero = new Tablero(); Cecilio cecilio = new Cecilio(); tablero.AgregarEntidadEnCasillero(cecilio, 0, 0); cecilio.MoverArriba(); Assert.AreEqual(0, cecilio.Posicion.Columna); Assert.AreEqual(0, cecilio.Posicion.Fila); }
public void PruebaQueUnProyectilNoPuedaMoverseAUnCasilleroConUnaEntidad() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); BloqueDeAcero bloque = new BloqueDeAcero(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); tablero.AgregarEntidadEnCasillero(bloque, 0, 1); Assert.IsFalse(proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.ESTE, tablero))); Assert.IsTrue(proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.SUR, tablero))); }
public void IntentarMoverseAUnaPosicionInvalidaDejaALopezREnElLugarQueEstaba() { Tablero tablero = new Tablero(); LopezR lopez = new LopezR(); tablero.AgregarEntidadEnCasillero(lopez, 0, 0); lopez.MoverArriba(); Assert.AreEqual(0, lopez.Posicion.Columna); Assert.AreEqual(0, lopez.Posicion.Fila); }
public void QueLopezRAladoPuedaMoversePorArribaDeLosObstaculos() { Tablero tablero = new Tablero(); LopezRAlado lopez = new LopezRAlado(); tablero.AgregarEntidadEnCasillero(lopez, 0, 0); BloqueDeAcero bloque = new BloqueDeAcero(); tablero.AgregarEntidadEnCasillero(bloque, 0, 1); lopez.MoverDerecha(); lopez.MoverDerecha(); Assert.AreEqual(2, lopez.Posicion.Columna); }
public void QueCecilioLanceUnaBombaYSeDanieASiMismo() { Tablero tablero = new Tablero(); LopezRAlado lopez = new LopezRAlado(); tablero.AgregarEntidadEnCasillero(lopez, 0, 0); lopez.LanzarBomba(); lopez.MoverAbajo(); Bomba bomba = lopez.Bomba; bomba.CuandoPaseElTiempo(5); Assert.IsTrue(lopez.FueDestruido()); }
public void QueCecilioLanceUnaBombaYSeDanieASiMismo() { Tablero tablero = new Tablero(); Cecilio cecilio = new Cecilio(); tablero.AgregarEntidadEnCasillero(cecilio, 0, 0); cecilio.LanzarBomba(); cecilio.MoverAbajo(); Bomba bomba = cecilio.Bomba; bomba.CuandoPaseElTiempo(5); Assert.IsTrue(cecilio.FueDestruido()); }
public void PruebaQueUnProyectilPuedaMoverseAUnCasilleroVacio() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); Assert.Throws<CasilleroFueraDeRangoException>(() => proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.OESTE, tablero))); Assert.IsTrue(proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.ESTE, tablero))); }
public void PruebaQueUnProyectilSoloPuedaMoverse4Casilleros() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); proyectil.MoverAbajo(); proyectil.MoverAbajo(); proyectil.MoverAbajo(); proyectil.MoverAbajo(); proyectil.CuandoPaseElTiempo(0); Assert.IsTrue(proyectil.FueDestruido()); }
public void PruebaQueUnProyectilCuandoSeEncuentraConUnBloqueLoDania() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); BloqueDeLadrillos bloque = new BloqueDeLadrillos(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); tablero.AgregarEntidadEnCasillero(bloque, 0, 1); proyectil.MoverDerecha(); proyectil.CuandoPaseElTiempo(0); Assert.IsTrue(bloque.FueDestruido()); }
public void BombitaIntentaLanzarDosBombasALaVez() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0) Bomba bomba = bombita.Bomba; bombita.LanzarBomba(); bombita.MoverAbajo(); bombita.MoverDerecha(); bombita.LanzarBomba(); bombita.MoverDerecha(); bomba.CuandoPaseElTiempo(3); Assert.AreEqual(3, bombita.Vidas); }
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); }
public void PruebaQueUnProyectilCuandoSeEncuentraUnPersonajeLoDania() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); tablero.AgregarEntidadEnCasillero(bombita, 1, 0); proyectil.MoverAbajo(); proyectil.CuandoPaseElTiempo(0); Assert.AreEqual(2, bombita.Vidas); }