tests improvements

This commit is contained in:
2026-04-13 19:22:15 +02:00
parent 684f63dabe
commit 188989bb8e
4 changed files with 103 additions and 48 deletions

View File

@@ -1,8 +1,11 @@
package server.automaton;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import server.Player;
import server.TotemColor;
import server.*;
import server.cards.BuildingCard;
import server.cards.Card;
import server.cards.CharacterCard;
import java.util.ArrayList;
import java.util.List;
@@ -11,18 +14,25 @@ import static server.utils.GameUtils.formatTurnTile;
class GameTest {
@Test
void newGame() {
private Game game;
@BeforeEach
public void setUp(){
List<Player> players = new ArrayList<>();
players.add(new Player("Yellow", TotemColor.YELLOW));
players.add(new Player("Blue", TotemColor.BLUE));
players.add(new Player("Purple", TotemColor.PURPLE));
players.add(new Player("Red", TotemColor.RED));
players.add(new Player("Green", TotemColor.GREEN));
//players.add(new Player("Green", TotemColor.GREEN));
//players.add(new Player("Purple", TotemColor.PURPLE));
Game game = new Game(players);
game = new Game(players);
game.newGame(getClass().getResourceAsStream("/files/cards.csv"));
System.out.println("Current Player " +game.getCurrentPlayer());
}
@Test
void newGame() {
System.out.println("Round " + game.getRound());
System.out.println("Game State " + game.getState());
@@ -31,14 +41,63 @@ class GameTest {
System.out.println("______ Top _________ \n" + game.getGameBoard().getTopRow());
System.out.println("______ Bottom _________ \n" + game.getGameBoard().getBottomRow());
}
@Test
void placeTotem() {
int i=0;System.out.println(game.getGameBoard().getTurnTile().getReturnedCount());
System.out.println(game.getGameBoard().getTurnTile().getPositions().length);
for(Player p : game.getGameBoard().getTurnTile().getPositions()){
Player current = game.getCurrentPlayer();
System.out.println((i++)+" " +current);
OfferingTile ot =game.getGameBoard().getOfferingTiles().stream().filter(o->o.isEmpty()).findFirst().orElse(null);
int idx =game.getGameBoard().getOfferingIdxFromLetter(ot.getLetter());
boolean ok =game.placeTotem(current, idx);
System.out.println("-- Turn Tile --\n" +formatTurnTile( game.getGameBoard().getTurnTile()));
System.out.println("---- Offering Tiles ----\n" + game.getGameBoard().getOfferingTiles());
}
}
@Test
void resolveCardAction() {
placeTotem();
System.out.println(game.getState());
game.getGameBoard()
.getOfferingTiles()
.stream()
.filter(o -> !o.isEmpty())
.forEach(
o -> {
Player p = o.getOccupant();
if (o.getActions().size()==3){
System.out.println("AZIONE FOOD ");
} else {
for (Symbol act : o.getActions()){
if (Symbol.UP.equals(act)){
Card ctop = game.getGameBoard().getTopRow().stream().filter(s -> s instanceof CharacterCard || s instanceof BuildingCard).findFirst().orElse(null);
ActionResult result = game.resolveCardAction(p, true, ctop.getCardId());
System.out.println(result);
}
if (Symbol.DOWN.equals(act)){
Card cdown = game.getGameBoard().getBottomRow().stream().filter(s -> s instanceof CharacterCard || s instanceof BuildingCard).findFirst().orElse(null);
ActionResult result = game.resolveCardAction(p, false, cdown.getCardId());
System.out.println(result);
}
}
}
}
);
}
@Test