From 1bb8d012c8171bf4c77332e8c2752ca8c7d403b7 Mon Sep 17 00:00:00 2001 From: fnpratto Date: Sat, 16 Dec 2023 14:54:42 -0300 Subject: [PATCH] agregandoTest --- .../contenedores/ContenedorConsola.java | 19 +-- .../interfaz/vistas/escenas/VistaInicial.java | 9 -- .../AfectantesTests/BacanalTests.java | 21 +++ .../AfectantesTests/ComidaTests.java | 16 ++ .../AfectantesTests/FieraTests.java | 17 +++ .../fiuba/algo3/testsUnitarios/DadoTests.java | 31 ++++ .../EquipamientoTests/ArmaduraTests.java | 25 +++ .../EquipamientoTests/CascoTests.java | 27 ++++ .../EquipamientoTests/DesequipadoTests.java | 24 +++ .../EquipamientoTests/EscudoYEspadaTests.java | 24 +++ .../EquipamientoTests/LlaveTests.java | 23 +++ .../EstadosTests/CansadoTests.java | 29 ++++ .../EstadosTests/LesionadoTests.java | 31 ++++ .../EstadosTests/SanoTests.java | 40 +++++ .../testsUnitarios/ExcepcionesTests.java | 55 +++++++ .../algo3/testsUnitarios/JuegoTests.java | 142 ++++++++++++++++++ .../algo3/testsUnitarios/JugadorTest.java | 74 +++++++++ .../{ => SenioritiesTests}/NovatoTests.java | 4 +- .../SemiSeniorTests.java | 9 +- .../{ => SenioritiesTests}/SeniorTests.java | 2 +- .../algo3/testsUnitarios/TableroTest.java | 41 +++++ 21 files changed, 630 insertions(+), 33 deletions(-) create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/BacanalTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/ComidaTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/FieraTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/DadoTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/ArmaduraTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/CascoTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/DesequipadoTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/EscudoYEspadaTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/LlaveTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/CansadoTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/LesionadoTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/SanoTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/ExcepcionesTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/JuegoTests.java create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/JugadorTest.java rename src/main/test/edu/fiuba/algo3/testsUnitarios/{ => SenioritiesTests}/NovatoTests.java (90%) rename src/main/test/edu/fiuba/algo3/testsUnitarios/{ => SenioritiesTests}/SemiSeniorTests.java (83%) rename src/main/test/edu/fiuba/algo3/testsUnitarios/{ => SenioritiesTests}/SeniorTests.java (89%) create mode 100644 src/main/test/edu/fiuba/algo3/testsUnitarios/TableroTest.java diff --git a/src/main/java/edu/fiuba/algo3/interfaz/vistas/contenedores/ContenedorConsola.java b/src/main/java/edu/fiuba/algo3/interfaz/vistas/contenedores/ContenedorConsola.java index 9b2fb36a2..f6ebddede 100644 --- a/src/main/java/edu/fiuba/algo3/interfaz/vistas/contenedores/ContenedorConsola.java +++ b/src/main/java/edu/fiuba/algo3/interfaz/vistas/contenedores/ContenedorConsola.java @@ -23,6 +23,7 @@ public class ContenedorConsola extends VBox { private Label energiaActual; private Label seniority; private StackPane panelImagen; + public ContenedorConsola(Juego juego) { this.turnoActual = new Label("Ronda Actual: 1"); @@ -70,17 +71,14 @@ private void estiloDelLabel(Label label, Font font, String colorDeLetra){ } public void actualizar(String nombreJugadorActual, int ronda) { - //Label turnoActual = (Label) this.getChildren().get(0); - //Label nombreJugador = (Label) this.getChildren().get(1); + this.jugadorAnterior = nombreJugadorActual; this.turnoActual.setText("Ronda Actual: " + ronda); this.nombreJugador.setText("Jugador " + nombreJugadorActual + " le toca tirar"); } public void actualizar(int energia, String estadoID, String seniorityID) { - //Label seniority = (Label) this.getChildren().get(5); - //Label estado = (Label) this.getChildren().get(6); - //Label energiaActual = (Label) this.getChildren().get(7); + this.datosDelJugadorAnterior.setText("\n\nDatos del jugador " + this.jugadorAnterior); this.seniority.setText("Seniority jugador: " + seniorityID); this.estado.setText("Estado: " + estadoID); @@ -88,7 +86,6 @@ public void actualizar(int energia, String estadoID, String seniorityID) { } public void actualizar(String equipamientoID){ - //StackPane panelImagen = (StackPane) this.getChildren().get(8); this.panelImagen.getChildren().clear(); Image imagen = new Image("file:" + System.getProperty("user.dir") + "/imagenes/" + equipamientoID + ".png"); @@ -100,18 +97,8 @@ public void actualizar(String equipamientoID){ this.panelImagen.getChildren().add(imageView); } - /*public void actualizar(int energia, String estadoID) { - Label estado = (Label) this.getChildren().get(7); - Label energiaActual = (Label) this.getChildren().get(8); - - estado.setText("Estado: " + estadoID); - energiaActual.setText("Energia: " + energia); - //this.getChildren().add(7, estado); - //this.getChildren().add(8, energiaActual); - }*/ public void actualizar(int ultimoNumeroTirado){ - //Label numeroDeDado = (Label) this.getChildren().get(2); this.numeroDeDado.setText(this.jugadorAnterior + " avanzo " + ultimoNumeroTirado + " lugares"); } diff --git a/src/main/java/edu/fiuba/algo3/interfaz/vistas/escenas/VistaInicial.java b/src/main/java/edu/fiuba/algo3/interfaz/vistas/escenas/VistaInicial.java index db4144686..9a833b874 100644 --- a/src/main/java/edu/fiuba/algo3/interfaz/vistas/escenas/VistaInicial.java +++ b/src/main/java/edu/fiuba/algo3/interfaz/vistas/escenas/VistaInicial.java @@ -9,15 +9,6 @@ public class VistaInicial extends StackPane { public VistaInicial(Stage stage) { - /* // TODO: Que onda esto? Arranca o no arranca? - DoubleProperty fontSize = new SimpleDoubleProperty(12); - imperioRomanoEtiqueta.styleProperty().bind(Bindings.concat("-fx-font-size: ", fontSize.asString())); - fontSize.bind(Bindings.createDoubleBinding( - () -> contenedorPrincipal.getWidth() / imperioRomanoEtiqueta.getText().length() * 1.5, // Puedes ajustar este factor según tus necesidades - contenedorPrincipal.widthProperty(), imperioRomanoEtiqueta.textProperty())); - */ - - //Imagen de Fondo Image imagenDeFondo = new Image("file:" + System.getProperty("user.dir") + "/imagenes/fondoMenuInicial.jpg"); ImageView viewImagenFondo = new ImageView(imagenDeFondo); viewImagenFondo.setPreserveRatio(false); diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/BacanalTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/BacanalTests.java new file mode 100644 index 000000000..2972bcda1 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/BacanalTests.java @@ -0,0 +1,21 @@ +package edu.fiuba.algo3.testsUnitarios.AfectantesTests; + +import edu.fiuba.algo3.modelo.Dado; +import edu.fiuba.algo3.modelo.Gladiador; +import edu.fiuba.algo3.modelo.estados.Estado; +import org.junit.jupiter.api.Test; + +public class BacanalTests { + + @Test + public void test01SeModificaEnergia40CuandoElDadoDa5() { + + /* + public Estado (Estado estado) { + Dado dado = new Dado(6); + int cantidadCopas = dado.tirar(); // Se puede vincular la accion de un boton al metodo tirar() de Dado? + return (estado.reducirEnergia(ENERGIA_POR_COPA * cantidadCopas)); + } + */ + } +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/ComidaTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/ComidaTests.java new file mode 100644 index 000000000..dcb2a8d46 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/ComidaTests.java @@ -0,0 +1,16 @@ +package edu.fiuba.algo3.testsUnitarios.AfectantesTests; + +import org.junit.jupiter.api.Test; + +public class ComidaTests { + + @Test + public void test01SeAumenta15DeEnergia() { + + /* + public Estado modificarEnergia(Estado estado){ + return estado.aumentarEnergia(AUMENTO_ENERGIA) ; + } + */ + } +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/FieraTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/FieraTests.java new file mode 100644 index 000000000..5afaa84cc --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/AfectantesTests/FieraTests.java @@ -0,0 +1,17 @@ +package edu.fiuba.algo3.testsUnitarios.AfectantesTests; + +import org.junit.jupiter.api.Test; + +public class FieraTests { + @Test + public void test01FieraDisminuyeEnergiaDeGladiador() { + + /* + /*public void afectar(Gladiador gladiador){ + gladiador.recibirImpacto(this); + + */ + } + +} + diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/DadoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/DadoTests.java new file mode 100644 index 000000000..6962fa7f1 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/DadoTests.java @@ -0,0 +1,31 @@ +package edu.fiuba.algo3.testsUnitarios; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class DadoTests { + + @Test + public void test01TirarElDado3Veces() { + + } + + @Test + public void test02SeteaDadoCon2Caras() { + + } +} + + +/* private int ultimoNumeroTirado; + private int caras = 6; + + public Dado(int carasDado){ + this.caras = carasDado; + } + + public int tirar() { + Random random = new Random(); + this.ultimoNumeroTirado = (random.nextInt(caras) + 1); + return this.ultimoNumeroTirado; + }*/ \ No newline at end of file diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/ArmaduraTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/ArmaduraTests.java new file mode 100644 index 000000000..b75513f16 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/ArmaduraTests.java @@ -0,0 +1,25 @@ +package edu.fiuba.algo3.testsUnitarios.EquipamientoTests; + +import org.junit.jupiter.api.Test; + +public class ArmaduraTests { + + @Test + public void test01SemejoraUnaArmadura() { + + /* + return potenciador.equipamientoSiguiente(this); + } + */ + } + + @Test + public void test02NoSeTieneEquipoCompletoConUnaArmadura() { + /* + public boolean equipoCompleto() { + return false; + } + * */ + } + +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/CascoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/CascoTests.java new file mode 100644 index 000000000..a494b5317 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/CascoTests.java @@ -0,0 +1,27 @@ +package edu.fiuba.algo3.testsUnitarios.EquipamientoTests; + +import edu.fiuba.algo3.modelo.estados.Estado; +import org.junit.jupiter.api.Test; + +public class CascoTests { + + @Test + public void test01SemejoraUnCasco() { + + /* + return potenciador.equipamientoSiguiente(this); + } + recibirAtaque + */ + } + + @Test + public void test02NoSeTieneEquipoCompletoConUnCasco() { + /* + public boolean equipoCompleto() { + return false; + } + * */ + } + +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/DesequipadoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/DesequipadoTests.java new file mode 100644 index 000000000..9be885080 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/DesequipadoTests.java @@ -0,0 +1,24 @@ +package edu.fiuba.algo3.testsUnitarios.EquipamientoTests; + +import org.junit.jupiter.api.Test; + +public class DesequipadoTests { + + @Test + public void test01SemejoraSiendoDesequipado() { + + /* + return potenciador.equipamientoSiguiente(this); + } + */ + } + + @Test + public void test02NoSeTieneEquipoCompletoDesequipado() { + /* + public boolean equipoCompleto() { + return false; + } + * */ + } +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/EscudoYEspadaTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/EscudoYEspadaTests.java new file mode 100644 index 000000000..3ea1c7c3a --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/EscudoYEspadaTests.java @@ -0,0 +1,24 @@ +package edu.fiuba.algo3.testsUnitarios.EquipamientoTests; + +import org.junit.jupiter.api.Test; + +public class EscudoYEspadaTests { + + @Test + public void test01SemejoraTeniendoEscudoYEspada() { + + /* + return potenciador.equipamientoSiguiente(this); + } + */ + } + + @Test + public void test02NoSeTieneEquipoCompletoConEscudoYEspada() { + /* + public boolean equipoCompleto() { + return false; + } + * */ + } +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/LlaveTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/LlaveTests.java new file mode 100644 index 000000000..0f5d82a3e --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EquipamientoTests/LlaveTests.java @@ -0,0 +1,23 @@ +package edu.fiuba.algo3.testsUnitarios.EquipamientoTests; + +import org.junit.jupiter.api.Test; + +public class LlaveTests { + @Test + public void test01NoSemejoraTeniendoLlave() { + + /* + return potenciador.equipamientoSiguiente(this); + } + */ + } + + @Test + public void test02SeTieneEquipoCompletoConLlave() { + /* + public boolean equipoCompleto() { + return false; + } + * */ + } +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/CansadoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/CansadoTests.java new file mode 100644 index 000000000..920dc69f2 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/CansadoTests.java @@ -0,0 +1,29 @@ +package edu.fiuba.algo3.testsUnitarios.EstadosTests; + +import org.junit.jupiter.api.Test; + +public class CansadoTests { + @Test + public void test01AvanzaCansado(){ + + /* + logger.warn("Estoy cansado Jefe :("); + + int energia = 5; + return new Sano(energia); + * */ + } + @Test + public void test02aumentaEnergiaCansado() { + + /* + public Estado aumentarEnergia(int energia){ + return this; + } + public int getEnergia() { + return 0; + } + */ + } + +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/LesionadoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/LesionadoTests.java new file mode 100644 index 000000000..04861344a --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/LesionadoTests.java @@ -0,0 +1,31 @@ +package edu.fiuba.algo3.testsUnitarios.EstadosTests; + +import org.junit.jupiter.api.Test; + +public class LesionadoTests { + + @Test + public void test01AvanzaLesionado(){ + + /* + * logger.warn("Estoy cansado Jefe :("); + + int energia = 5; + return new Sano(energia); + * */ + } + + @Test + public void test02aumentaEnergiaLesionado() { + + /* + public Estado aumentarEnergia(int energia){ + return this; + } + public int getEnergia() { + return 0; + } + */ + } + +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/SanoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/SanoTests.java new file mode 100644 index 000000000..296d486ff --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/EstadosTests/SanoTests.java @@ -0,0 +1,40 @@ +package edu.fiuba.algo3.testsUnitarios.EstadosTests; + +import org.junit.jupiter.api.Test; + +public class SanoTests { + + @Test + public void test01Avanza(){ + + /* + public Estado avanzar(Celda futuraCelda, Gladiador gladiador, Logger logger) { + logger.info("Movimiento exitoso."); + + return gladiador.mover(futuraCelda); + }recibirAtaque + * */ + } + @Test + public void test02aumentaEnergia() { + + /* + this.energiaActual += energia; + return this; + } + */ + } + + @Test + public void test03DisminuirEnergia() { + /* + * this.energiaActual -= energia; + if (this.energiaActual <= SIN_ENERGIA) { + + return new Cansado(); + } + + return this; + * */ + } +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/ExcepcionesTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/ExcepcionesTests.java new file mode 100644 index 000000000..a7e2b25eb --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/ExcepcionesTests.java @@ -0,0 +1,55 @@ +package edu.fiuba.algo3.testsUnitarios; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class ExcepcionesTests { + + @Test + public void test01LanzaAfectanteInvalidoError() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test02LanzaArchivoNoEncontradoError() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test03LanzaCantidadInvalidaDeCeldasError() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test04LanzaCoordenadaInvalidaError() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test05LanzaPasaronTreintaRondasYnoHuboGanadorError() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test06LanzaTipoDeCeldaEnArchivoNoValidaError() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test07LanzaTurnoPerdidoError() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test08LanzaUnJugadorGanoLaPartidaError() { + + Assertions.assertNotSame(2, 3); + } + +} diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/JuegoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/JuegoTests.java new file mode 100644 index 000000000..74ff019aa --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/JuegoTests.java @@ -0,0 +1,142 @@ +package edu.fiuba.algo3.testsUnitarios; + +import org.apache.logging.log4j.LogManager; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import edu.fiuba.algo3.modelo.Juego; +import edu.fiuba.algo3.modelo.Tablero; +import edu.fiuba.algo3.modelo.afectantes.Potenciador; +import edu.fiuba.algo3.modelo.afectantes.Vacio; +import edu.fiuba.algo3.modelo.celdas.Celda; +import edu.fiuba.algo3.modelo.celdas.CeldaComun; +import edu.fiuba.algo3.modelo.celdas.CeldaFinal; +import edu.fiuba.algo3.modelo.celdas.CeldaInicial; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.junit.jupiter.api.Assertions; + +import java.util.ArrayList; + +public class JuegoTests { + + @Test + public void test01NohayMasDe30Rondas() { + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test02SeIniciaBienLaPartida() { + + /*Logger logger = LogManager.getLogger(); + + ArrayList celdas = new ArrayList<>(); + celdas.add(new CeldaInicial(0,0, logger)); + celdas.add(new CeldaComun(0,1, new Potenciador(), new Vacio(), logger)); + celdas.add(new CeldaComun(0,2, new Potenciador(), new Vacio(), logger)); + celdas.add(new CeldaComun(0,3, new Potenciador(), new Vacio(), logger)); + celdas.add(new CeldaComun(0,4, new Potenciador(), new Vacio(), logger)); + celdas.add(new CeldaFinal(0,5,logger)); + + Tablero tablero = new Tablero(1,1); + tablero.armarMapa(celdas); + + ArrayList nombresJugadores = new ArrayList<>(); + nombresJugadores.add("A"); + nombresJugadores.add("B"); + + Juego juego = new Juego(logger, tablero); + juego.iniciarPartida(nombresJugadores);*/ + + /*Assertions.assertTrue(gladiador.energiaIgualA(energiaEsperada));*/ + + } + + + @Test + public void test03SeAgregaCorrectamenteJugador() { + + } + + @Test + public void test04chequearRonda4() { + + } + + @Test + public void test05JugadorPuedeJugarUnaRonda() { + + } + +} + + +/* + + + + public void jugarTurnoDeJugadorActual(Dado dado) throws UnJugadorGanoLaPartidaError, PasaronTreintaRondasYnoHuboGanadorError { + this.hayGanador = this.jugadorTurnoActual.jugarTurno(dado.tirar(), this.tablero); + if (this.hayGanador) { + throw new UnJugadorGanoLaPartidaError(); + } + + if (this.indiceJugadorActual < (this.jugadores.size() - 1)) { + this.indiceJugadorActual++; + } else { + this.indiceJugadorActual = 0; + } + + this.jugadorTurnoActual = this.jugadores.get(this.indiceJugadorActual); + if ((this.jugadorTurnoActual == this.jugadorInicial) && quedanRondasPorJugar()) + this.ronda++; + + if (!quedanRondasPorJugar()) { + logger.info("La partida ha terminado sin un ganador después de 30 rondas."); + throw new PasaronTreintaRondasYnoHuboGanadorError(); // TODO: Le sacamos "Error" del nombre? + } + + notificarObservadores(this.jugadorTurnoActual.getNombre(), this.ronda); + } + + public void finalizarJuego() { + notificarObservadores(this.jugadorTurnoActual.getNombre(), this.hayGanador); + } + + public void agregarObservadorAJugadores(Observador observador) { + for (Jugador jugador : this.jugadores) { + jugador.agregarObservador(observador); + jugador.agregarObservadorAGladiador(observador); + } + } + + // -------------------------------- PRIVADOS -------------------------------- // + + private void crearJugadores(ArrayList nombresJugadores) { + int cantidadJugadores = nombresJugadores.size(); + for (int i = 0; i < cantidadJugadores; i++) { + Gladiador gladiador = new Gladiador(this.logger, this.tablero.getCeldaInicial()); + Jugador jugador = new Jugador(nombresJugadores.get(i), gladiador, this.tablero.getCeldaInicial(), this.logger); + this.jugadores.add(jugador); + } + } + + private boolean quedanRondasPorJugar() { + return (this.ronda <= CANTIDAD_MAXIMA_DE_RONDAS); + } + + private void notificarObservadores(String nombre, int ronda) { + for (Observador observador : this.observadores) { + observador.actualizar(nombre, ronda); + } + } + + private void notificarObservadores(String nombre, boolean hayGanador){ + for (Observador observador : this.observadores) { + observador.actualizar(nombre, hayGanador); + } + } +} + +* */ \ No newline at end of file diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/JugadorTest.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/JugadorTest.java new file mode 100644 index 000000000..804bb8362 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/JugadorTest.java @@ -0,0 +1,74 @@ +package edu.fiuba.algo3.testsUnitarios; + +import edu.fiuba.algo3.modelo.Observador; +import edu.fiuba.algo3.modelo.Tablero; +import edu.fiuba.algo3.modelo.celdas.Celda; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + + +public class JugadorTest { + @Test + public void test01JugadorAjuega2Turnos() { + + } + + @Test + public void test02SeCreaCorrectamente() { + + /*get nombre*/ + } + +} + +/* +public Jugador(String nombre, Gladiador gladiador, Celda celdaInicial, Logger logger) { + this.gladiador = gladiador; + this.turno = 0; + this.celdaActual = celdaInicial; + this.logger = logger; + this.nombre = nombre; + this.observadores = new ArrayList<>(); + } + + /* + * Suponemos que: el seniority se mejora independientemente de si el jugador tiro o no los dados. Dado que esta + * ligado a la cantidad de turnos. + * */ +/* + public boolean jugarTurno(int avances, Tablero tablero) { + logger.info("Turno de: " + this.nombre); + this.turno++; + + Celda celdaAnterior = this.celdaActual; + Celda celdaProxima = tablero.avanzar(avances, this.celdaActual); + this.celdaActual = this.gladiador.mover(celdaProxima, this.turno); + + notificarObservadores(this.nombre, celdaAnterior, this.celdaActual, avances); + + if (celdaActual == tablero.getCeldaFinal()) { + logger.info(this.nombre + " has ganado la partida. ¡Felicitaciones!"); + return true; + } + return false; + } + + public String getNombre() { + return this.nombre; + } + + public void agregarObservadorAGladiador(Observador observador){ + this.gladiador.agregarObservador(observador); + } + + // -------------------------------- PRIVADOS -------------------------------- // + + private void notificarObservadores(String nombre, Celda celdaAnterior, Celda celdaActual, int avances) { + for (Observador observador : this.observadores) { + observador.actualizar(nombre, celdaAnterior, celdaActual, avances); + } + } + +} + +*/ \ No newline at end of file diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/NovatoTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/NovatoTests.java similarity index 90% rename from src/main/test/edu/fiuba/algo3/testsUnitarios/NovatoTests.java rename to src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/NovatoTests.java index 81890f771..cf6e7ad93 100644 --- a/src/main/test/edu/fiuba/algo3/testsUnitarios/NovatoTests.java +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/NovatoTests.java @@ -1,4 +1,4 @@ -package edu.fiuba.algo3.testsUnitarios; +package edu.fiuba.algo3.testsUnitarios.SenioritiesTests; import edu.fiuba.algo3.modelo.seniorities.Seniority; import edu.fiuba.algo3.modelo.seniorities.Novato; @@ -17,7 +17,6 @@ public void test01SiTurnoEsMenorQueOchoAscenderDevuelveASiMismo(){ Seniority seniortyActual = novato.ascender(turno); - // funciona pero a que costo? Assertions.assertEquals(novato, seniortyActual); } @@ -27,7 +26,6 @@ public void test02SiTurnoEsOchoAscenderDevuelveSiguienteSeniority() { Novato novato = new Novato(logger); int turno = 8; - // A CHEQUEAR ! Seniority seniorityNueva = novato.ascender(turno); Assertions.assertNotEquals(novato, seniorityNueva); diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/SemiSeniorTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/SemiSeniorTests.java similarity index 83% rename from src/main/test/edu/fiuba/algo3/testsUnitarios/SemiSeniorTests.java rename to src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/SemiSeniorTests.java index 9096dcf08..e660e8b7a 100644 --- a/src/main/test/edu/fiuba/algo3/testsUnitarios/SemiSeniorTests.java +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/SemiSeniorTests.java @@ -1,4 +1,4 @@ -package edu.fiuba.algo3.testsUnitarios; +package edu.fiuba.algo3.testsUnitarios.SenioritiesTests; import edu.fiuba.algo3.modelo.seniorities.Seniority; import edu.fiuba.algo3.modelo.seniorities.SemiSenior; import org.apache.logging.log4j.LogManager; @@ -18,14 +18,15 @@ public void test01SiTurnoEsEntreOchoYOnceAscenderDevuelveASiMismo(){ Assertions.assertEquals(semiSenior, seniortyActual); } - /* @Test + @Test public void test02SiTurnoEsDoceAscenderDevuelveSiguienteSeniority(){ - SemiSenior semiSenior = new SemiSenior(); + Logger logger = LogManager.getLogger(); + SemiSenior semiSenior = new SemiSenior(logger); int turno = 12; Seniority seniorityActual = semiSenior.ascender(turno); Assertions.assertEquals(semiSenior, seniorityActual); - }*/ + } } diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/SeniorTests.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/SeniorTests.java similarity index 89% rename from src/main/test/edu/fiuba/algo3/testsUnitarios/SeniorTests.java rename to src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/SeniorTests.java index ff866a3f2..3c599bbbe 100644 --- a/src/main/test/edu/fiuba/algo3/testsUnitarios/SeniorTests.java +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/SenioritiesTests/SeniorTests.java @@ -1,4 +1,4 @@ -package edu.fiuba.algo3.testsUnitarios; +package edu.fiuba.algo3.testsUnitarios.SenioritiesTests; import edu.fiuba.algo3.modelo.seniorities.Seniority; import edu.fiuba.algo3.modelo.seniorities.Senior; import org.junit.jupiter.api.Assertions; diff --git a/src/main/test/edu/fiuba/algo3/testsUnitarios/TableroTest.java b/src/main/test/edu/fiuba/algo3/testsUnitarios/TableroTest.java new file mode 100644 index 000000000..7cd6a4b82 --- /dev/null +++ b/src/main/test/edu/fiuba/algo3/testsUnitarios/TableroTest.java @@ -0,0 +1,41 @@ +package edu.fiuba.algo3.testsUnitarios; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class TableroTest { + + @Test + public void test01SeArmaCorrectameteUnMapa() { + + /*if ( celdas.size() < 2 ) { + throw new CantidadInvalidaDeCeldasError(); + } + + this.celdaInicial = celdas.get(0); + Celda actual = celdas.get(0); + int i = 1; + for (; i < celdas.size(); i++) { + Celda celdaComun = celdas.get(i); + actual.setSiguiente(celdaComun); + actual = celdaComun; + } + this.celdaFinal = actual; + Celda celdaMedio = celdas.get((celdas.size() - 1) / 2); + actual.setSiguiente(celdaMedio);*/ + + Assertions.assertNotSame(2, 3); + } + + @Test + public void test02JugadorAavanza() { + /* + * public Celda avanzar(int avances, Celda celdaActual) { + for (int i = 0; i < avances; i++) { + celdaActual = celdaActual.celdaSiguiente(); + } + return celdaActual; + } + * */ + } +}