@@ -86,7 +86,6 @@ public class CavePaintings extends EventCard {
|
|||||||
return new CavePaintings(getEra(), NLower, NPrestigeRem, NPrestigeMul) ;
|
return new CavePaintings(getEra(), NLower, NPrestigeRem, NPrestigeMul) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s
|
* Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s
|
||||||
* toString to print a more detailed version.
|
* toString to print a more detailed version.
|
||||||
@@ -106,6 +105,6 @@ public class CavePaintings extends EventCard {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toStringBoard() {
|
public String toStringBoard() {
|
||||||
return super.toString()+" 0-"+(NLower-1)+":"+NPrestigeRem+" "+NLower+"+:"+NPrestigeMul;
|
return super.toStringBoard()+" 0-"+(NLower-1)+":"+NPrestigeRem+" "+NLower+"+:"+NPrestigeMul;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ public class Hunt extends EventCard {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toStringBoard() {
|
public String toStringBoard() {
|
||||||
return super.toString()+" 1F+"+prestigeMultiplier+"PP"+" X N Hunter";
|
return super.toStringBoard()+" 1F+"+prestigeMultiplier+"PP"+" X N Hunter";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -111,7 +111,7 @@ public class ShamanicRitual extends EventCard {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toStringBoard() {
|
public String toStringBoard() {
|
||||||
return super.toString()+" *>:"+prestigeToAdd+" *<:"+prestigeToRemove;
|
return super.toStringBoard()+" *>:"+prestigeToAdd+" *<:"+prestigeToRemove;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,6 +103,6 @@ public class Sustenance extends EventCard {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toStringBoard() {
|
public String toStringBoard() {
|
||||||
return super.toString()+" -1F/-"+PrestigeDebt+"PP";
|
return super.toStringBoard()+" -1F/-"+PrestigeDebt+"PP";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,13 +57,14 @@ class Building8Test {
|
|||||||
b8.applyEffect(p);
|
b8.applyEffect(p);
|
||||||
|
|
||||||
assertEquals(1, p.buildingCards.stream().filter(x -> x.getEffectId() == 8).count());
|
assertEquals(1, p.buildingCards.stream().filter(x -> x.getEffectId() == 8).count());
|
||||||
assertEquals(PrestigeMul * 2 * p.buildingCards.stream().filter(x -> x.getEffectId() == 8).count(), p.getPrestigeValue());
|
assertEquals(PrestigeMul* p.buildingCards.stream().filter(x -> x.getEffectId() == 8).count(), p.getPrestigeValue());
|
||||||
|
|
||||||
|
p.removePrestige(p.getPrestigeValue());
|
||||||
Builder b2 = new Builder(Era, 1, PrestigeMul);
|
Builder b2 = new Builder(Era, 1, PrestigeMul);
|
||||||
p.builders.add(b2);
|
p.builders.add(b2);
|
||||||
b8.applyEffect(p);
|
b8.applyEffect(p);
|
||||||
|
|
||||||
assertEquals(2 + 4, p.getPrestigeValue());
|
assertEquals(PrestigeMul * 2, p.getPrestigeValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -13,8 +13,6 @@ class GathererTest {
|
|||||||
Gatherer g = new Gatherer(1);
|
Gatherer g = new Gatherer(1);
|
||||||
String s = g.toString();
|
String s = g.toString();
|
||||||
|
|
||||||
System.out.println(s);
|
|
||||||
|
|
||||||
assertNotNull(s);
|
assertNotNull(s);
|
||||||
assertFalse(s.contains(CharacterType.GATHERER.toString()));
|
assertFalse(s.contains(CharacterType.GATHERER.toString()));
|
||||||
assertTrue(s.contains("⎕:"));
|
assertTrue(s.contains("⎕:"));
|
||||||
|
|||||||
+11
-5
@@ -18,13 +18,19 @@ class HunterTest {
|
|||||||
@Test
|
@Test
|
||||||
void testToString() {
|
void testToString() {
|
||||||
Hunter h = new Hunter(1, true);
|
Hunter h = new Hunter(1, true);
|
||||||
String s = h.toString();
|
assertTrue(h.toString().contains(" I"));
|
||||||
|
|
||||||
assertNotNull(s);
|
|
||||||
assertTrue(s.contains(" I"));
|
|
||||||
|
|
||||||
Hunter h2 = new Hunter(3, false);
|
Hunter h2 = new Hunter(3, false);
|
||||||
assertTrue(!h2.toString().contains("I"));
|
assertFalse(h2.toString().contains("I"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testToStringBoard() {
|
||||||
|
Hunter h = new Hunter(1, true);
|
||||||
|
assertTrue(h.toStringBoard().contains(" I"));
|
||||||
|
|
||||||
|
Hunter h2 = new Hunter(3, false);
|
||||||
|
assertFalse(h2.toStringBoard().contains("I"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
+42
@@ -94,6 +94,36 @@ class CavePaintingsTest {
|
|||||||
assertEquals(7, p1.getFoodValue());
|
assertEquals(7, p1.getFoodValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Not Building 9 test")
|
||||||
|
void activateEvent3() {
|
||||||
|
Player p1 = new Player("Marco");
|
||||||
|
ArrayList<Player> players = new ArrayList<>(Arrays.asList(p1));
|
||||||
|
CavePaintings cp1 = new CavePaintings(1, 1, 3, 2);
|
||||||
|
BuildingCard bc1 = new BuildingCard(9,1,5,5);
|
||||||
|
p1.addFood(5);
|
||||||
|
bc1.buy(p1);
|
||||||
|
new Artist(1).insert(p1);
|
||||||
|
cp1.activateEvent(players);
|
||||||
|
|
||||||
|
assertEquals(2, p1.getPrestigeValue());
|
||||||
|
assertEquals(1 * 1, p1.getFoodValue());
|
||||||
|
|
||||||
|
p1.removeFood(p1.getFoodValue());
|
||||||
|
|
||||||
|
BuildingCard bc2 = new BuildingCard(7,1,5,5);
|
||||||
|
BuildingCard bc3 = new BuildingCard(9,1,5,5);
|
||||||
|
p1.addFood(10);
|
||||||
|
bc2.buy(p1);
|
||||||
|
bc3.buy(p1);
|
||||||
|
new Artist(1).insert(p1);
|
||||||
|
new Artist(1).insert(p1);
|
||||||
|
cp1.activateEvent(players);
|
||||||
|
|
||||||
|
assertEquals(8, p1.getPrestigeValue());
|
||||||
|
assertEquals(2 * 3, p1.getFoodValue());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("Clone testing")
|
@DisplayName("Clone testing")
|
||||||
void cloneTest() {
|
void cloneTest() {
|
||||||
@@ -113,4 +143,16 @@ class CavePaintingsTest {
|
|||||||
|
|
||||||
assertEquals("⎕:(Event)CAVE_PAINTINGS", cv1.toString());
|
assertEquals("⎕:(Event)CAVE_PAINTINGS", cv1.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("ToStringBoard testing")
|
||||||
|
void toStringBoardTest() {
|
||||||
|
int Era = 1;
|
||||||
|
int NLower = 1;
|
||||||
|
int NPrestigeRem = 2;
|
||||||
|
int NPrestigeMul = 3;
|
||||||
|
CavePaintings cv1 = new CavePaintings(Era, NLower,NPrestigeRem,NPrestigeMul);
|
||||||
|
|
||||||
|
assertEquals("⎕:(Event)" + cv1.getType() + " 0-"+(NLower-1)+":"+NPrestigeRem+" "+NLower+"+:"+NPrestigeMul, cv1.toStringBoard());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -98,6 +98,38 @@ class HuntTest {
|
|||||||
assertEquals(1, p3.getFoodValue());
|
assertEquals(1, p3.getFoodValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("p2 doesnt have building 7")
|
||||||
|
void activateEvent4() {
|
||||||
|
Player p1 = new Player("Giacomo");
|
||||||
|
Player p2 = new Player("xiaomi");
|
||||||
|
Player p3 = new Player("test");
|
||||||
|
|
||||||
|
ArrayList<Player> players = new ArrayList<>(Arrays.asList(p1, p2, p3));
|
||||||
|
Hunt h1 = new Hunt(1, 3);
|
||||||
|
|
||||||
|
assertEquals(0, p1.getFoodValue());
|
||||||
|
|
||||||
|
new Hunter(1, true).insert(p1);
|
||||||
|
new Hunter(1, false).insert(p1);
|
||||||
|
new Hunter(1, false).insert(p2);
|
||||||
|
new Hunter(1, false).insert(p2);
|
||||||
|
|
||||||
|
assertEquals(0, p2.getFoodValue());
|
||||||
|
assertEquals(0, p2.getPrestigeValue());
|
||||||
|
|
||||||
|
new Hunter(1, false).insert(p3);
|
||||||
|
assertEquals(0, p3.getFoodValue());
|
||||||
|
|
||||||
|
h1.activateEvent(players);
|
||||||
|
assertEquals(3*2, p1.getPrestigeValue());
|
||||||
|
assertEquals(1 + 2, p1.getFoodValue());
|
||||||
|
assertEquals(3 * 2, p2.getPrestigeValue());
|
||||||
|
assertEquals(2, p2.getFoodValue());
|
||||||
|
assertEquals(3, p3.getPrestigeValue());
|
||||||
|
assertEquals(1, p3.getFoodValue());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("clone testing")
|
@DisplayName("clone testing")
|
||||||
void cloneTest() {
|
void cloneTest() {
|
||||||
@@ -120,4 +152,14 @@ class HuntTest {
|
|||||||
|
|
||||||
assertEquals("⎕:(Event)HUNT", h1.toString());
|
assertEquals("⎕:(Event)HUNT", h1.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("ToStringBoard testing")
|
||||||
|
void toStringBoardTest() {
|
||||||
|
int Era = 1;
|
||||||
|
int prestigeMultiplier = 3;
|
||||||
|
Hunt cv1 = new Hunt(Era, prestigeMultiplier);
|
||||||
|
|
||||||
|
assertEquals("⎕:(Event)" + cv1.getType() + " 1F+" + prestigeMultiplier + "PP" + " X N Hunter", cv1.toStringBoard());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+34
@@ -190,6 +190,29 @@ class ShamanicRitualTest {
|
|||||||
assertEquals(-5, p3.getPrestigeValue());
|
assertEquals(-5, p3.getPrestigeValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("p1 does not have building 6")
|
||||||
|
void ApplyEvent6() {
|
||||||
|
Player p1 = new Player("Marco");
|
||||||
|
Player p2 = new Player("Luca");
|
||||||
|
|
||||||
|
|
||||||
|
ArrayList<Player> players = new ArrayList<>(Arrays.asList(p1, p2));
|
||||||
|
|
||||||
|
new Shaman(1, 3).insert(p1);
|
||||||
|
new Shaman(1, 1).insert(p2);
|
||||||
|
|
||||||
|
BuildingCard b = new BuildingCard(2, 1, 5, 1);
|
||||||
|
p1.addFood(5);
|
||||||
|
b.buy(p1);
|
||||||
|
|
||||||
|
ShamanicRitual ritual = new ShamanicRitual(1, 10, 5);
|
||||||
|
ritual.activateEvent(players);
|
||||||
|
|
||||||
|
assertEquals(10, p1.getPrestigeValue());
|
||||||
|
assertEquals(-5, p2.getPrestigeValue());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("Clone testing")
|
@DisplayName("Clone testing")
|
||||||
void cloneTest() {
|
void cloneTest() {
|
||||||
@@ -214,4 +237,15 @@ class ShamanicRitualTest {
|
|||||||
|
|
||||||
assertEquals("⎕:(Event)SHAMANIC_RITUAL", sr1.toString());
|
assertEquals("⎕:(Event)SHAMANIC_RITUAL", sr1.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("ToStringBoard testing")
|
||||||
|
void toStringBoardTest() {
|
||||||
|
int Era = 1;
|
||||||
|
int prestigeToAdd = 1;
|
||||||
|
int prestigeToRem = 2;
|
||||||
|
ShamanicRitual cv1 = new ShamanicRitual(Era, prestigeToAdd, prestigeToRem);
|
||||||
|
|
||||||
|
assertEquals("⎕:(Event)" + cv1.getType() + " *>:" + prestigeToAdd + " *<:" + prestigeToRem, cv1.toStringBoard());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -102,6 +102,39 @@ class SustenanceTest {
|
|||||||
assertEquals(0, p2.getPrestigeValue());
|
assertEquals(0, p2.getPrestigeValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("Missing Building 1 testing")
|
||||||
|
void activateEvent3() {
|
||||||
|
Player p1 = new Player("marco");
|
||||||
|
Player p2 = new Player("giacomo");
|
||||||
|
ArrayList<Player> players = new ArrayList<>(Arrays.asList(p1,p2));
|
||||||
|
|
||||||
|
p1.addFood(5);
|
||||||
|
new Inventor(1, 1).insert(p1);
|
||||||
|
new Shaman(1, 5).insert(p1);
|
||||||
|
new Builder(1, 5, 5).insert(p1);
|
||||||
|
new Artist(1).insert(p1);
|
||||||
|
new Hunter(1, false).insert(p1);
|
||||||
|
new Gatherer(1).insert(p1);
|
||||||
|
|
||||||
|
p2.addFood(2);
|
||||||
|
new Artist(1).insert(p2);
|
||||||
|
new Artist(1).insert(p2);
|
||||||
|
new Artist(1).insert(p2);
|
||||||
|
|
||||||
|
|
||||||
|
Building1 bd2 = new Building1(1, 1, 1, CharacterType.ARTIST);
|
||||||
|
|
||||||
|
bd2.buy(p2);
|
||||||
|
|
||||||
|
Sustenance s = new Sustenance(1,2);
|
||||||
|
s.activateEvent(players);
|
||||||
|
assertEquals(2, p1.getFoodValue());
|
||||||
|
assertEquals(1, p2.getFoodValue());
|
||||||
|
assertEquals(0, p1.getPrestigeValue());
|
||||||
|
assertEquals(0, p2.getPrestigeValue());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("Clone testing")
|
@DisplayName("Clone testing")
|
||||||
void cloneTest() {
|
void cloneTest() {
|
||||||
@@ -124,6 +157,16 @@ class SustenanceTest {
|
|||||||
|
|
||||||
assertEquals("⎕:(Event)SUSTENANCE", s1.toString());
|
assertEquals("⎕:(Event)SUSTENANCE", s1.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DisplayName("ToStringBoard testing")
|
||||||
|
void toStringBoardTest() {
|
||||||
|
int Era = 3;
|
||||||
|
int prestigeDebt = 15;
|
||||||
|
Sustenance cv1 = new Sustenance(Era, prestigeDebt);
|
||||||
|
|
||||||
|
assertEquals("⎕:(Event)" + cv1.getType() + " -1F/-" + prestigeDebt + "PP", cv1.toStringBoard());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -699,6 +699,8 @@ class GameTest {
|
|||||||
assertTrue(game.addPlayer(new Player("p" + nPlayers + "_" + i)));
|
assertTrue(game.addPlayer(new Player("p" + nPlayers + "_" + i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assertEquals(nPlayers, game.getCurrentPlayerNumber());
|
||||||
|
assertEquals(nPlayers, game.getPlayers().size());
|
||||||
assertEquals(GameStages.SLOT_CHOICE, game.getCurrentState().getGameStage());
|
assertEquals(GameStages.SLOT_CHOICE, game.getCurrentState().getGameStage());
|
||||||
assertEquals(1, game.getCurrentState().getRound());
|
assertEquals(1, game.getCurrentState().getRound());
|
||||||
assertNotNull(game.getCurrentState().getCurrentPlayer());
|
assertNotNull(game.getCurrentState().getCurrentPlayer());
|
||||||
@@ -706,6 +708,7 @@ class GameTest {
|
|||||||
for (int expectedRound = 1; expectedRound < 10; expectedRound++) {
|
for (int expectedRound = 1; expectedRound < 10; expectedRound++) {
|
||||||
assertEquals(GameStages.SLOT_CHOICE, game.getCurrentState().getGameStage());
|
assertEquals(GameStages.SLOT_CHOICE, game.getCurrentState().getGameStage());
|
||||||
assertEquals(expectedRound, game.getCurrentState().getRound());
|
assertEquals(expectedRound, game.getCurrentState().getRound());
|
||||||
|
assertEquals(nPlayers, game.getCurrentPlayerNumber());
|
||||||
|
|
||||||
playOneFullRound(game);
|
playOneFullRound(game);
|
||||||
|
|
||||||
@@ -721,6 +724,7 @@ class GameTest {
|
|||||||
"The round should increase after completing round " + expectedRound + "."
|
"The round should increase after completing round " + expectedRound + "."
|
||||||
);
|
);
|
||||||
|
|
||||||
|
assertEquals(nPlayers, game.getCurrentPlayerNumber());
|
||||||
assertNotNull(game.getCurrentState().getCurrentPlayer());
|
assertNotNull(game.getCurrentState().getCurrentPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -735,11 +739,8 @@ class GameTest {
|
|||||||
"The game should end after completing round 10 with " + nPlayers + " players."
|
"The game should end after completing round 10 with " + nPlayers + " players."
|
||||||
);
|
);
|
||||||
|
|
||||||
assertEquals(
|
assertEquals(10, game.getCurrentState().getRound());
|
||||||
10,
|
assertEquals(nPlayers, game.getPlayers().size());
|
||||||
game.getCurrentState().getRound(),
|
|
||||||
"The game should end at round 10 with " + nPlayers + " players."
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1095,4 +1096,105 @@ class GameTest {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void skipDrawingShouldRejectWrongPlayer() {
|
||||||
|
Game game = new Game(3);
|
||||||
|
|
||||||
|
List<Player> players = addPlayers(game, 3, "skip_wrong_");
|
||||||
|
|
||||||
|
completeSlotChoice(game);
|
||||||
|
|
||||||
|
Player current = game.getCurrentState().getCurrentPlayer();
|
||||||
|
Player wrongPlayer = players.stream()
|
||||||
|
.filter(p -> !p.equals(current))
|
||||||
|
.findFirst()
|
||||||
|
.orElseThrow();
|
||||||
|
|
||||||
|
assertFalse(game.SkipLowerDrawing(wrongPlayer));
|
||||||
|
assertFalse(game.SkipUpperDrawing(wrongPlayer));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void skipDrawingShouldReturnFalseWhenDrawableCardsExist() {
|
||||||
|
Game game = new Game(3);
|
||||||
|
|
||||||
|
addPlayers(game, 3, "skip_drawable_");
|
||||||
|
|
||||||
|
completeSlotChoice(game);
|
||||||
|
|
||||||
|
Player current = game.getCurrentState().getCurrentPlayer();
|
||||||
|
assertNotNull(current);
|
||||||
|
|
||||||
|
boolean checkedAtLeastOneSkip = false;
|
||||||
|
|
||||||
|
if (game.getCurrentState().getNLower() > 0
|
||||||
|
&& firstNonEventIndexOrMinusOne(game.getLowerListTribeCards()) != -1) {
|
||||||
|
assertFalse(game.SkipLowerDrawing(current));
|
||||||
|
checkedAtLeastOneSkip = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (game.getCurrentState().getNUpper() > 0
|
||||||
|
&& firstNonEventIndexOrMinusOne(game.getUpperListTribeCards()) != -1) {
|
||||||
|
assertFalse(game.SkipUpperDrawing(current));
|
||||||
|
checkedAtLeastOneSkip = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
assertTrue(
|
||||||
|
checkedAtLeastOneSkip,
|
||||||
|
"The test should check at least one skip rejection when drawable cards exist."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void pickOptionalTribeCardShouldRejectEventCard() {
|
||||||
|
Game game = new Game(3);
|
||||||
|
|
||||||
|
List<Player> players = addPlayers(game, 3, "optional_event_");
|
||||||
|
|
||||||
|
giveOptionalEffectToAllPlayers(players.get(0), players.get(1), players.get(2));
|
||||||
|
|
||||||
|
completeSlotChoice(game);
|
||||||
|
resolveActionsUntilOptionalCardEffect(game);
|
||||||
|
|
||||||
|
Player current = game.getCurrentState().getCurrentPlayer();
|
||||||
|
assertNotNull(current);
|
||||||
|
|
||||||
|
int eventIndex = firstEventIndexOrMinusOne(game.getUpperListTribeCards());
|
||||||
|
|
||||||
|
assertNotEquals(
|
||||||
|
-1,
|
||||||
|
eventIndex,
|
||||||
|
"There should be at least one event card in the upper tribe list to test rejection."
|
||||||
|
);
|
||||||
|
|
||||||
|
assertFalse(game.PickOptionalTribeCardByIndex(current, eventIndex));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void cardListsShouldReturnCopiesOfLists() {
|
||||||
|
Game game = new Game(3);
|
||||||
|
|
||||||
|
List<TribeCard> upper = game.getUpperListTribeCards();
|
||||||
|
int originalSize = upper.size();
|
||||||
|
|
||||||
|
upper.clear();
|
||||||
|
|
||||||
|
assertEquals(originalSize, game.getUpperListTribeCards().size());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void getPlayersShouldReturnAddedPlayers() {
|
||||||
|
Game game = new Game(3);
|
||||||
|
|
||||||
|
Player p1 = new Player("gp1");
|
||||||
|
Player p2 = new Player("gp2");
|
||||||
|
|
||||||
|
assertTrue(game.addPlayer(p1));
|
||||||
|
assertTrue(game.addPlayer(p2));
|
||||||
|
|
||||||
|
assertEquals(2, game.getPlayers().size());
|
||||||
|
assertTrue(game.getPlayers().contains(p1));
|
||||||
|
assertTrue(game.getPlayers().contains(p2));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -155,15 +155,52 @@ class Order2Test {
|
|||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
Player p1 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz";
|
||||||
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
String usr2 = "L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk";
|
||||||
|
|
||||||
|
Player p1 = new Player(usr1);
|
||||||
|
Player p2 = new Player(usr2);
|
||||||
Order2 order = new Order2(new ArrayList<>(Arrays.asList(p1, p2)));
|
Order2 order = new Order2(new ArrayList<>(Arrays.asList(p1, p2)));
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
order.pull();
|
order.pull();
|
||||||
order.pull();
|
order.pull();
|
||||||
|
|
||||||
|
assertFalse(order.toString().contains(usr1));
|
||||||
|
assertFalse(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
order.push(p2);
|
order.push(p2);
|
||||||
order.push(p1);
|
order.push(p1);
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
order.pull().getUserName();
|
order.pull().getUserName();
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertFalse(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
Player extraPlayer = new Player("px");
|
||||||
|
//TODO testare IndexOutOfBoundsException
|
||||||
|
// assertThrows(IndexOutOfBoundsException.class, () -> {
|
||||||
|
// Order2 ox = new Order2(new ArrayList<>(Arrays.asList(p1, p2)));;
|
||||||
|
// ox.pull();
|
||||||
|
// ox.pull();
|
||||||
|
// ox.pull();
|
||||||
|
// ox.push(extraPlayer);
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -183,26 +183,54 @@ class Order3Test {
|
|||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
Player p1 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz";
|
||||||
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
String usr2 = "L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk";
|
||||||
Player p3 = new Player("L*Ncw1ryyrF2xn%H@4P1iC@&NNIooQQk");
|
String usr3 = "L*Ncw1rjjrF2xn%H@4d1iC@&NNIooQQk";
|
||||||
Order3 order = new Order3(new ArrayList<>(Arrays.asList(p1, p2,p3)));
|
|
||||||
Field field = Order3.class.getSuperclass().getDeclaredField("playerList");
|
|
||||||
field.setAccessible(true);
|
|
||||||
List<OrderPlayer> values =(ArrayList<OrderPlayer>)field.get(order);
|
|
||||||
|
|
||||||
String userPulled=order.pull().getUserName();
|
Player p1 = new Player(usr1);
|
||||||
userPulled=order.pull().getUserName();
|
Player p2 = new Player(usr2);
|
||||||
userPulled=order.pull().getUserName();
|
Player p3 = new Player(usr3);
|
||||||
|
Order3 order = new Order3(new ArrayList<>(Arrays.asList(p1, p2, p3)));
|
||||||
|
|
||||||
order.push(p1);
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
|
||||||
|
assertFalse(order.toString().contains(usr1));
|
||||||
|
assertFalse(order.toString().contains(usr2));
|
||||||
|
assertFalse(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.push(p3);
|
||||||
order.push(p2);
|
order.push(p2);
|
||||||
values =(ArrayList<OrderPlayer>)field.get(order);
|
order.push(p1);
|
||||||
// assertEquals("TURN ORDER\n" +
|
|
||||||
// "╔════════════════════════════════════╦════════════════════════════════════╦════════════════════════════════════╗\n" +
|
assertTrue(order.toString().contains(usr1));
|
||||||
// "║ 0. ║ 1. "+values.get(1).getUserName() +"║ 2. "+values.get(2).getUserName()+"║\n" +
|
assertTrue(order.toString().contains(usr2));
|
||||||
// "║ +2 Food ║ -- ║ -1 Food / -2 Prestige ║\n"+
|
assertTrue(order.toString().contains(usr3));
|
||||||
// "╚════════════════════════════════════╩════════════════════════════════════╩════════════════════════════════════╝\n", order.toString());
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.pull().getUserName();
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertFalse(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
//TODO testare IndexOutOfBoundsException
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -274,12 +274,65 @@ class Order4Test {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
Player p1 = new Player("wPIshNQhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz";
|
||||||
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
String usr2 = "L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk";
|
||||||
Player p3 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr3 = "L*Ncw1rjjrF2xn%H@4d1iC@&NNIooQQk";
|
||||||
Player p4 = new Player("wPIshOThiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr4 = "L*Ncw1rjkrF2xn%H@4d1iC@&NNIooQQk";
|
||||||
Order4 order = new Order4(new ArrayList<>(Arrays.asList(p1, p2,p3,p4)));
|
|
||||||
String userPulled=order.pull().getUserName();
|
|
||||||
|
|
||||||
|
Player p1 = new Player(usr1);
|
||||||
|
Player p2 = new Player(usr2);
|
||||||
|
Player p3 = new Player(usr3);
|
||||||
|
Player p4 = new Player(usr4);
|
||||||
|
Order4 order = new Order4(new ArrayList<>(Arrays.asList(p1, p2, p3, p4)));
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains(usr4));
|
||||||
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
|
||||||
|
assertFalse(order.toString().contains(usr1));
|
||||||
|
assertFalse(order.toString().contains(usr2));
|
||||||
|
assertFalse(order.toString().contains(usr3));
|
||||||
|
assertFalse(order.toString().contains(usr4));
|
||||||
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.push(p4);
|
||||||
|
order.push(p3);
|
||||||
|
order.push(p2);
|
||||||
|
order.push(p1);
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains(usr4));
|
||||||
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.pull().getUserName();
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains(usr3));
|
||||||
|
assertFalse(order.toString().contains(usr4));
|
||||||
|
assertTrue(order.toString().contains("+2 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
//TODO testare IndexOutOfBoundsException
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -369,19 +369,74 @@ class Order5Test {
|
|||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
Player p1 = new Player("wPIshUEhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz";
|
||||||
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
String usr2 = "L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk";
|
||||||
Player p3 = new Player("wPIshOUhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr3 = "L*Ncw1rjjrF2xn%H@4d1iC@&NNIooQQk";
|
||||||
Player p4 = new Player("wPIshNUhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr4 = "L*Ncw1rjkrF2xn%H@4d1iC@&NNIooQQk";
|
||||||
Player p5 = new Player("wPIshKUhiOpRRnIBFfM89s2$@q$9FGbz");
|
String usr5 = "L*pcw1rjjrF2xn%H@4d1iC@&NNIooQQk";
|
||||||
Order5 order = new Order5(new ArrayList<>(Arrays.asList(p1, p2,p3,p4,p5)));
|
|
||||||
|
Player p1 = new Player(usr1);
|
||||||
|
Player p2 = new Player(usr2);
|
||||||
|
Player p3 = new Player(usr3);
|
||||||
|
Player p4 = new Player(usr4);
|
||||||
|
Player p5 = new Player(usr5);
|
||||||
|
Order5 order = new Order5(new ArrayList<>(Arrays.asList(p1, p2, p3, p4, p5)));
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains(usr4));
|
||||||
|
assertTrue(order.toString().contains(usr5));
|
||||||
|
assertTrue(order.toString().contains("+3 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
order.pull();
|
order.pull();
|
||||||
order.pull();
|
order.pull();
|
||||||
order.pull();
|
order.pull();
|
||||||
order.pull();
|
order.pull();
|
||||||
order.pull();
|
order.pull();
|
||||||
|
|
||||||
|
assertFalse(order.toString().contains(usr1));
|
||||||
|
assertFalse(order.toString().contains(usr2));
|
||||||
|
assertFalse(order.toString().contains(usr3));
|
||||||
|
assertFalse(order.toString().contains(usr4));
|
||||||
|
assertFalse(order.toString().contains(usr5));
|
||||||
|
assertTrue(order.toString().contains("+3 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.push(p5);
|
||||||
|
order.push(p4);
|
||||||
|
order.push(p3);
|
||||||
|
order.push(p2);
|
||||||
order.push(p1);
|
order.push(p1);
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains(usr4));
|
||||||
|
assertTrue(order.toString().contains(usr5));
|
||||||
|
assertTrue(order.toString().contains("+3 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
order.pull();
|
||||||
|
|
||||||
|
assertTrue(order.toString().contains(usr1));
|
||||||
|
assertTrue(order.toString().contains(usr2));
|
||||||
|
assertTrue(order.toString().contains(usr3));
|
||||||
|
assertTrue(order.toString().contains(usr4));
|
||||||
|
assertFalse(order.toString().contains(usr5));
|
||||||
|
assertTrue(order.toString().contains("+3 Food"));
|
||||||
|
assertTrue(order.toString().contains("+1 Food"));
|
||||||
|
assertTrue(order.toString().contains("--"));
|
||||||
|
assertTrue(order.toString().contains("-1 Food / -2 PP"));
|
||||||
|
|
||||||
|
//TODO capire come è testato IndexOutOfBoundsExceptions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package it.polimi.ingsw.gc14.Model.Orders;
|
||||||
|
|
||||||
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
|
||||||
|
class OrderPlayerTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void toStringShouldReturnUsernameAndPlayedStatusTrue() {
|
||||||
|
Player player = new Player("Marco");
|
||||||
|
OrderPlayer orderPlayer = new OrderPlayer(player, true);
|
||||||
|
|
||||||
|
assertEquals("Marco true", orderPlayer.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void toStringShouldReturnUsernameAndPlayedStatusFalse() {
|
||||||
|
Player player = new Player("Luca");
|
||||||
|
OrderPlayer orderPlayer = new OrderPlayer(player, false);
|
||||||
|
|
||||||
|
assertEquals("Luca false", orderPlayer.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user