Merge branch 'main' into Fix-tests-and-javadoc-idIMG

This commit is contained in:
rubenpirreram
2026-05-07 15:02:12 +02:00
committed by GitHub
14 changed files with 183 additions and 251 deletions
@@ -117,7 +117,7 @@ class GameControllerTest {
return;
}
assertTrue(controller.SkipLowerDrawing(username));
assertTrue(controller.SkipNoDrawable(username));
return;
}
@@ -135,7 +135,7 @@ class GameControllerTest {
return;
}
assertTrue(controller.SkipUpperDrawing(username));
assertTrue(controller.SkipNoDrawable(username));
return;
}
@@ -187,8 +187,7 @@ class GameControllerTest {
assertFalse(controller.drawLowerTribeCard("ghost", 0));
assertFalse(controller.drawUpperBuildingCard("ghost", 0));
assertFalse(controller.drawLowerBuildingCard("ghost", 0));
assertFalse(controller.SkipUpperDrawing("ghost"));
assertFalse(controller.SkipLowerDrawing("ghost"));
assertFalse(controller.SkipNoDrawable("ghost"));
assertFalse(controller.pickOptionalTribeCard("ghost", 0));
assertFalse(controller.pickOptionalBuildingCard("ghost", 0));
assertFalse(controller.noOptionalCard("ghost"));
@@ -608,7 +607,7 @@ class GameControllerTest {
assertFalse(game.getLowerListTribeCards().isEmpty());
assertTrue(firstNonEventIndexOrMinusOne(game.getLowerListTribeCards()) != -1);
assertFalse(controller.SkipLowerDrawing(current.getUserName()));
assertFalse(controller.SkipNoDrawable(current.getUserName()));
}
@Test
@@ -627,7 +626,7 @@ class GameControllerTest {
assertFalse(game.getUpperListTribeCards().isEmpty());
assertTrue(firstNonEventIndexOrMinusOne(game.getUpperListTribeCards()) != -1);
assertFalse(controller.SkipUpperDrawing(current.getUserName()));
assertFalse(controller.SkipNoDrawable(current.getUserName()));
}
@@ -4,6 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Cards.TribeCard;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
import it.polimi.ingsw.gc14.Model.GamePackage.Board;
import it.polimi.ingsw.gc14.Model.GamePackage.GameStages;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Builder;
@@ -11,6 +12,7 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Inventor;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Timeout;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -85,8 +87,12 @@ class GameTest {
return;
}
assertTrue(game.SkipLowerDrawing(current));
return;
if(game.getCurrentState().getNUpper() == 0 || game.getUpperListTribeCards().stream().allMatch(TribeCard::IsEventCard))
{
assertTrue(game.SkipNoDrawable(current));
return;
}
}
if (game.getCurrentState().getNUpper() > 0) {
@@ -102,8 +108,11 @@ class GameTest {
return;
}
assertTrue(game.SkipUpperDrawing(current));
return;
if(game.getCurrentState().getNLower() == 0 || game.getLowerListTribeCards().stream().allMatch(TribeCard::IsEventCard))
{
assertTrue(game.SkipNoDrawable(current));
return;
}
}
fail(
@@ -1037,6 +1046,25 @@ class GameTest {
Player player = players.get(0);
try {
Field boardField = Game.class.getDeclaredField("board");
boardField.setAccessible(true);
Board board = (Board) boardField.get(game);
Field upperTribe = Board.class.getDeclaredField("upperListTribe");
upperTribe.setAccessible(true);
List<TribeCard> upper = (List<TribeCard>) upperTribe.get(board);
upper.removeIf(TribeCard::IsEventCard);
Field lowerTribe = Board.class.getDeclaredField("lowerListTribe");
lowerTribe.setAccessible(true);
List<TribeCard> lower = (List<TribeCard>) lowerTribe.get(board);
lower.removeIf(TribeCard::IsEventCard);
} catch (NoSuchFieldException | IllegalAccessException e) {
fail("Reflection fallita: " + e.getMessage());
}
int prestigeBefore = player.getPrestigeValue();
player.buildingCards.add(new BuildingCard(12, 1, 1, 7));
@@ -1074,6 +1102,25 @@ class GameTest {
Player player = players.get(0);
assertNotNull(player);
try {
Field boardField = Game.class.getDeclaredField("board");
boardField.setAccessible(true);
Board board = (Board) boardField.get(game);
Field upperTribe = Board.class.getDeclaredField("upperListTribe");
upperTribe.setAccessible(true);
List<TribeCard> upper = (List<TribeCard>) upperTribe.get(board);
upper.removeIf(TribeCard::IsEventCard);
Field lowerTribe = Board.class.getDeclaredField("lowerListTribe");
lowerTribe.setAccessible(true);
List<TribeCard> lower = (List<TribeCard>) lowerTribe.get(board);
lower.removeIf(TribeCard::IsEventCard);
} catch (NoSuchFieldException | IllegalAccessException e) {
fail("Reflection fallita: " + e.getMessage());
}
int prestigeBefore = player.getPrestigeValue();
player.builders.add(new Builder(1, 0, 4));
@@ -1110,8 +1157,7 @@ class GameTest {
.findFirst()
.orElseThrow();
assertFalse(game.SkipLowerDrawing(wrongPlayer));
assertFalse(game.SkipUpperDrawing(wrongPlayer));
assertFalse(game.SkipNoDrawable(wrongPlayer));
}
@Test
@@ -1127,15 +1173,13 @@ class GameTest {
boolean checkedAtLeastOneSkip = false;
if (game.getCurrentState().getNLower() > 0
&& firstNonEventIndexOrMinusOne(game.getLowerListTribeCards()) != -1) {
assertFalse(game.SkipLowerDrawing(current));
if (game.getCurrentState().getNLower() > 0 || game.getLowerListTribeCards().stream().allMatch(TribeCard::IsEventCard)) {
assertFalse(game.SkipNoDrawable(current));
checkedAtLeastOneSkip = true;
}
if (game.getCurrentState().getNUpper() > 0
&& firstNonEventIndexOrMinusOne(game.getUpperListTribeCards()) != -1) {
assertFalse(game.SkipUpperDrawing(current));
if (game.getCurrentState().getNUpper() > 0|| game.getUpperListTribeCards().stream().allMatch(TribeCard::IsEventCard)) {
assertFalse(game.SkipNoDrawable(current));
checkedAtLeastOneSkip = true;
}
@@ -1161,11 +1205,10 @@ class GameTest {
int eventIndex = firstEventIndexOrMinusOne(game.getUpperListTribeCards());
assertNotEquals(
-1,
eventIndex,
"There should be at least one event card in the upper tribe list to test rejection."
);
if(eventIndex==-1)
{
assertFalse(game.NoOptionalCard(current));
}
assertFalse(game.PickOptionalTribeCardByIndex(current, eventIndex));
}