diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/GamePackage/Board.java b/src/main/java/it/polimi/ingsw/gc14/Model/GamePackage/Board.java index 764eb47..aa71197 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/GamePackage/Board.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/GamePackage/Board.java @@ -55,6 +55,14 @@ public class Board { return slotList.stream().map(x->new Slot(x.getSlotId())).collect(Collectors.toList()); } + /** + * @return the size of the TribeDeck + */ + public int getTribeDeckSize() { + return this.tribeDeck.size(); + } + + /** * Creates and initialize a new board: * - Generate the slotList using a method of DecksCreator @@ -71,7 +79,7 @@ public class Board { upperListTribe=new ArrayList<>(); lowerListTribe=new ArrayList<>(); lowerListBuilding=new ArrayList<>(); - tribeDeck=getTribeDeck(nTotem); + tribeDeck=generateTribeDeck(nTotem); era=1; for(int i=0;i getTribeDeck(int nPlayers) { + private Queue generateTribeDeck(int nPlayers) { ArrayList era1= DecksCreator.loadTribeDeckByEra(1).stream().filter(x->x.getNMin()<=nPlayers).collect(Collectors.toCollection(ArrayList::new)); ArrayList era2= DecksCreator.loadTribeDeckByEra(2).stream().filter(x->x.getNMin()<=nPlayers).collect(Collectors.toCollection(ArrayList::new)); ArrayList era3= DecksCreator.loadTribeDeckByEra(3).stream().filter(x->x.getNMin()<=nPlayers).collect(Collectors.toCollection(ArrayList::new)); @@ -185,6 +193,7 @@ public class Board { public int nextRound() { lowerListTribe.clear(); lowerListTribe.addAll(upperListTribe); + upperListTribe.clear(); for(int i=0;i card.IsEventCard())); // Verifica che non ci siano EventCard dentro alla lista inferiore + + assertEquals(numPlayer+4, bd.upperListTribe.size()); // Verifica che la dimensione della lista superiore sia corretta + + assertEquals(2, bd.upperListBuilding.size()); // Verifica che ci sia il giusto numero di buildings (2 edifici per 3+ giocatori) } @Test @@ -125,7 +142,7 @@ class BoardTest { } @Test - @DisplayName("Removing a card from upper row of building cards") + @DisplayName("RemgetTribeDeckSizeoving a card from upper row of building cards") void removeUpperBuildingCard() { Board bd = new Board(3); @@ -142,7 +159,9 @@ class BoardTest { @DisplayName("Removing a card from lower row of building cards") void removeLowerBuildingCard() { Board bd = new Board(3); - bd.nextEra(); + bd.lowerListBuilding.add(new BuildingCard(2, 1, 5, 10)); + bd.lowerListBuilding.add(new BuildingCard(3, 2, 2, 1)); + List before = bd.lowerListBuilding; BuildingCard cardToRemove = before.get(0); @@ -153,5 +172,18 @@ class BoardTest { assertEquals(before, bd.lowerListBuilding); } + @Test + @DisplayName("Testing next round") + void nextRound() { + int numPlayer = 3; + Board bd = new Board(numPlayer); + assertTrue(!bd.lowerListTribe.isEmpty()); + List upperListBefore = new ArrayList<>(bd.upperListTribe); + + bd.nextRound(); + assertEquals(upperListBefore, bd.lowerListTribe); // Verifica che la lista superiore รจ stata spostata sotto + assertNotEquals(upperListBefore, bd.upperListTribe); // Verifica che la lista superiore sia stata cambiata + assertEquals(numPlayer+4, bd.upperListTribe.size()); // Verifica che la nuova dimensione della lista superiore sia corretta + } } \ No newline at end of file