diff --git a/stickyBlocks.wlk b/stickyBlocks.wlk index a367d59..68a5e41 100644 --- a/stickyBlocks.wlk +++ b/stickyBlocks.wlk @@ -28,8 +28,6 @@ object juegoStickyBlock { //Inicio el menu menu.iniciar() - - //nivelActual.iniciar() } method reset(){ diff --git a/stickyTest.wtest b/stickyTest.wtest index c093562..2502054 100644 --- a/stickyTest.wtest +++ b/stickyTest.wtest @@ -1,50 +1,101 @@ import wollok.game.* +import stickyBlocks.* +import levels.* +import menuYTeclado.* -describe "StickyBlocks" { +describe "Tests StickyBlock (individual)" { method initialize(){ game.clear() } - test "se mueve" { - } + test "El StickyBlock se mueve correctamente." { - test "colisiona con pared" { - } + const personajePrincipal = new PersonajeInicial(position = game.at(0,0)) + personajePrincipal.iniciar() - test "Se revierten los pasos al presionar el botón" { + personajePrincipal.moveTo(arriba) + assert.equals(game.at(0,1), personajePrincipal.position()) } - test "No puede atravesar paredes" { - } + test "El StickyBlock no se mueve al colisionar con una pared." { + + const personajePrincipal = new PersonajeInicial(position = game.at(0,0)) + personajePrincipal.iniciar() - test "Se pega a otros StickyBlocks" { + const pared = new Pared(position = game.at(0,1)) + pared.iniciar() + + cuerpo.moverCuerpo(arriba) + assert.equals(game.at(0,0), personajePrincipal.position()) } } - -describe "Nivel" { +describe "Tests del cuerpo." { method initialize(){ game.clear() } - test "Se reinicia el nivel al presionar el botón" { - } + test "Compi se une al cuerpo." { - test "Se pasa al próximo nivel al llegar a la meta" { - } + //Seteo el curpo con un compi y un personaje principal + const compi = new StickyCompi(position = game.at(0,2)) + compi.iniciar() -} + const personajePrincipal = new PersonajeInicial(position = game.at(0,0)) + personajePrincipal.iniciar() -describe "Game" { + //Muevo el cuerpo, tomo al compi y bajo + cuerpo.moverCuerpo(arriba) + cuerpo.moverCuerpo(abajo) - method initialize(){ - game.clear() + assert.equals(game.at(0,0), personajePrincipal.position()) + assert.equals(game.at(0,1), compi.position()) } - test "Se inicia correctamente" { + + test "El cuerpo se mueve correctamente." { + + //Seteo el cuerpo con un compi y un personaje principal + const compi = new StickyCompi(position = game.at(0,1)) + compi.iniciar() + compi.setAsCuerpo() + + const personajePrincipal = new PersonajeInicial(position = game.at(0,0)) + personajePrincipal.iniciar() + + //Muevo el cuerpo + cuerpo.moverCuerpo(arriba) + + assert.equals(game.at(0,1), personajePrincipal.position()) + assert.equals(game.at(0,2), compi.position()) } - test "Se pasa al próximo nivel al llegar a la meta" { + test "El cuerpo no se mueve si algun compi colisiona con una pared." { + + //Seteo el cuerpo con un compi y un personaje principal + const compi = new StickyCompi(position = game.at(1,0)) + compi.iniciar() + compi.setAsCuerpo() + + const personajePrincipal = new PersonajeInicial(position = game.at(0,0)) + personajePrincipal.iniciar() + + //Seteo una pared que colisionara con el cuerpo + new Pared(position = game.at(0,1)).iniciar() + + cuerpo.moverCuerpo(arriba) + assert.equals(game.at(0,0), personajePrincipal.position()) + assert.equals(game.at(1,0), compi.position()) } -} \ No newline at end of file + test "Se revierten el movimiento del cuerpo al ejecutar unDo." { + const personajePrincipal = new PersonajeInicial(position = game.at(0,0)) + personajePrincipal.iniciar() + + cuerpo.moverCuerpo(arriba) + + juegoStickyBlock.unDo() + + assert.equals(game.at(0,0), personajePrincipal.position()) + } +}