Merge branch 'main' into tests-fix

This commit is contained in:
rubenpirreram
2026-04-30 19:59:33 +02:00
committed by GitHub
59 changed files with 1539 additions and 292 deletions
@@ -143,8 +143,4 @@ class Building0Test {
b0.buy(p1);
assertFalse(b0.buy(p2));
}
}
@@ -3,7 +3,6 @@ package it.polimi.ingsw.gc14.Model.Cards.Building.Effects;
import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -109,4 +108,26 @@ class Building11Test {
b4.applyEffect(p5);
});
}
@Test
@DisplayName("toString")
void testToString(){
Building11 b11 = new Building11(1,2,3, CharacterType.INVENTOR, 1);
assertEquals("Era:1 Price:2 Prestige:3 Icon: INVENTOR", b11.toString());
b11 = new Building11(1,2,3, CharacterType.BUILDER, 1);
assertEquals("Era:1 Price:2 Prestige:3 Icon: BUILDER", b11.toString());
b11 = new Building11(1,2,3, CharacterType.GATHERER, 1);
assertEquals("Era:1 Price:2 Prestige:3 Icon: GATHERER", b11.toString());
b11 = new Building11(1,2,3, CharacterType.ARTIST, 1);
assertEquals("Era:1 Price:2 Prestige:3 Icon: ARTIST", b11.toString());
b11 = new Building11(1,2,3, CharacterType.SHAMAN, 1);
assertEquals("Era:1 Price:2 Prestige:3 Icon: SHAMAN", b11.toString());
b11 = new Building11(1,2,3, CharacterType.HUNTER, 1);
assertEquals("Era:1 Price:2 Prestige:3 Icon: HUNTER", b11.toString());
}
}
@@ -66,4 +66,26 @@ class Building1Test {
assertEquals(Prestige, bClone.getPrestigeValue());
assertEquals(ct, b0.getIcon());
}
@Test
@DisplayName("toString")
void testToString(){
Building1 b1 = new Building1(1,2,3, CharacterType.INVENTOR);
assertEquals("Era:1 Price:2 Prestige:3 Icon: INVENTOR", b1.toString());
b1 = new Building1(1,2,3, CharacterType.BUILDER);
assertEquals("Era:1 Price:2 Prestige:3 Icon: BUILDER", b1.toString());
b1 = new Building1(1,2,3, CharacterType.GATHERER);
assertEquals("Era:1 Price:2 Prestige:3 Icon: GATHERER", b1.toString());
b1 = new Building1(1,2,3, CharacterType.ARTIST);
assertEquals("Era:1 Price:2 Prestige:3 Icon: ARTIST", b1.toString());
b1 = new Building1(1,2,3, CharacterType.SHAMAN);
assertEquals("Era:1 Price:2 Prestige:3 Icon: SHAMAN", b1.toString());
b1 = new Building1(1,2,3, CharacterType.HUNTER);
assertEquals("Era:1 Price:2 Prestige:3 Icon: HUNTER", b1.toString());
}
}
@@ -347,6 +347,7 @@ class GameTest {
assertNotEquals(thirdPlayer, game.getCurrentState().getCurrentPlayer());
System.out.println(game);
}
@@ -805,5 +806,23 @@ class GameTest {
assertFalse(game.PickOptionalBuildingCard(current, 0));
}
@Test
void toStringModel()
{
Game game=new Game(3);
Player p1=new Player("p1");
Player p2=new Player("p2");
Player p3=new Player("p3");
assertTrue(game.addPlayer(p1));
assertTrue(game.addPlayer(p2));
assertTrue(game.addPlayer(p3));
Queue<Player>players=new LinkedList<>();
for(int i=0;i<3;i++) {
players.add( game.getCurrentState().getCurrentPlayer());
assertTrue(game.SlotChoiceByIndex(game.getCurrentState().getCurrentPlayer(), i));
}
System.out.println(game);
}
}
@@ -4,9 +4,10 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
import java.lang.reflect.Field;
import java.util.*;
import static org.junit.jupiter.api.Assertions.*;
class Order2Test {
@@ -154,4 +155,16 @@ class Order2Test {
assertEquals(p1, order.getFirst());
assertEquals(p1, order.getFirst());
}
@Test
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
Player p1 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
Order2 order = new Order2(new ArrayList<>(Arrays.asList(p1, p2)));
order.pull();
order.pull();
order.push(p2);
order.push(p1);
order.pull().getUserName();
System.out.println(order);
}
}
@@ -4,9 +4,10 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
import java.lang.reflect.Field;
import java.util.*;
import static org.junit.jupiter.api.Assertions.*;
class Order3Test {
@@ -180,5 +181,30 @@ class Order3Test {
assertEquals(p1, order.getFirst());
assertEquals(p1, order.getFirst());
}
@Test
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
Player p1 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
Player p3 = new Player("L*Ncw1ryyrF2xn%H@4P1iC@&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();
userPulled=order.pull().getUserName();
userPulled=order.pull().getUserName();
System.out.println(values);
order.push(p1);
order.push(p2);
values =(ArrayList<OrderPlayer>)field.get(order);
System.out.println(order);
// assertEquals("TURN ORDER\n" +
// "╔════════════════════════════════════╦════════════════════════════════════╦════════════════════════════════════╗\n" +
// "║ 0. ║ 1. "+values.get(1).getUserName() +"║ 2. "+values.get(2).getUserName()+"\n" +
// "║ +2 Food ║ -- ║ -1 Food / -2 Prestige ║\n"+
// "╚════════════════════════════════════╩════════════════════════════════════╩════════════════════════════════════╝\n", order.toString());
}
}
@@ -4,9 +4,10 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
import java.lang.reflect.Field;
import java.util.*;
import static org.junit.jupiter.api.Assertions.*;
class Order4Test {
@@ -272,22 +273,14 @@ class Order4Test {
}
@Test
void getFirst() {
Player p1 = new Player("p1");
Player p2 = new Player("p2");
Player p3 = new Player("p3");
Player p4 = new Player("p4");
Order4 order = new Order4(new ArrayList<>(Arrays.asList(p1, p2, p3, p4)));
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
Player p1 = new Player("wPIshNQhiOpRRnIBFfM89s2$@q$9FGbz");
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
Player p3 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
Player p4 = new Player("wPIshOThiOpRRnIBFfM89s2$@q$9FGbz");
Order4 order = new Order4(new ArrayList<>(Arrays.asList(p1, p2,p3,p4)));
String userPulled=order.pull().getUserName();
System.out.println(order);
order.pull();
order.pull();
order.pull();
order.pull();
assertNull(order.getFirst());
order.push(p1);
assertEquals(p1, order.getFirst());
assertEquals(p1, order.getFirst());
}
}
@@ -5,6 +5,12 @@ import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import java.lang.reflect.Field;
import java.util.*;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
@@ -361,6 +367,23 @@ class Order5Test {
assertEquals(p1, order.getFirst());
assertEquals(p1, order.getFirst());
}
@Test
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
Player p1 = new Player("wPIshUEhiOpRRnIBFfM89s2$@q$9FGbz");
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
Player p3 = new Player("wPIshOUhiOpRRnIBFfM89s2$@q$9FGbz");
Player p4 = new Player("wPIshNUhiOpRRnIBFfM89s2$@q$9FGbz");
Player p5 = new Player("wPIshKUhiOpRRnIBFfM89s2$@q$9FGbz");
Order5 order = new Order5(new ArrayList<>(Arrays.asList(p1, p2,p3,p4,p5)));
order.pull();
order.pull();
order.pull();
order.pull();
order.pull();
order.push(p1);
System.out.println(order);
}
}
@@ -1,5 +1,6 @@
package it.polimi.ingsw.gc14.Model;
import it.polimi.ingsw.gc14.Model.Cards.Building.Effects.*;
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.*;
@@ -200,17 +201,44 @@ class PlayerTest {
p.addPrestige(15);
p.addFood(7);
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(1));
p.artists.add(new Artist(2));
p.builders.add(new Builder(2, 5, 1));
p.gatherers.add(new Gatherer(1, 3));
p.shamans.add(new Shaman(2, 3, 3));
p.shamans.add(new Shaman(2, 3, 4));
p.inventors.add(new Inventor(3, 1));
p.hunters.add(new Hunter(3, true));
p.hunters.add(new Hunter(2, false));
p.buildingCards.add(new BuildingCard(2, 1,2, 5));
p.buildingCards.add(new BuildingCard(2, 2,3, 6));
assertEquals("test_usr:"+ "\n\t" +
"Food: 7" + "\n\t" +
"Prestige: 15" + "\n\t" +
"Artists: [Era:1 ARTIST, Era:2 ARTIST]" + "\n\t" + "Builders: []" + "\n\t" +
"Gatherers: []" + "\n\t" +
"Shamans: []" + "\n\t" +
"Hunters: []" + "\n\t" +
"Buildings: [Era:1 Price:2 Prestige:5, Era:2 Price:3 Prestige:6]",
p.toString());
p.buildingCards.add(new Building1(2, 5, 5, CharacterType.INVENTOR));
p.buildingCards.add(new Building1(2, 5, 5, CharacterType.SHAMAN));
p.buildingCards.add(new Building11(1, 5, 7, CharacterType.ARTIST , 3));
//System.out.println(p.toString());
assertEquals(""+
"╔═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗\n" +
"║ test_usr ║\n" +
"├═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════┤\n" +
"║ RESOURCES: ║\n" +
"║ Food: 7 ║\n" +
"║ Prestige: 15 ║\n" +
"├═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════┤\n" +
"║ CHARACTERS: ║\n" +
"║ Artists: [⎕:, ⎕:, ⎕:, ⎕:, ⎕:, ⎕:, ⎕:] ║\n" +
"║ Builders: [⎕: RV:5 PV:1] ║\n" +
"║ Gatherers: [⎕:] ║\n" +
"║ Shamans: [⎕: *:3, ⎕: *:3] ║\n" +
"║ Inventors: [⎕: I_ID:1] ║\n" +
"║ Hunters: [⎕: I, ⎕:] ║\n" +
"├═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════┤\n" +
"║ BUILDING CARDS: ║\n" +
"║ Buildings: [⎕: ID:2 $:2 PV:5, ⎕: ID:2 $:3 PV:6, ⎕: ID:1 $:5 PV:5 Icon: I, ⎕: ID:1 $:5 PV:5 Icon: S, ⎕: ID:11 $:5 PV:7 Icon: A MP: 3]║\n" +
"╚═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝", p.toString());
}
}
@@ -46,7 +46,8 @@ class SlotTest {
assertEquals(0, s.getNLower());
assertEquals(0, s.getNUpper());
assertEquals(5, s.getNMinPlayer());
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString());
System.out.println(s);
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString());
}
@Test
@@ -59,7 +60,8 @@ class SlotTest {
assertEquals(1, s.getNLower());
assertEquals(0, s.getNUpper());
assertEquals(0, s.getNMinPlayer());
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString());
System.out.println(s);
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString());
}
@Test
@@ -72,8 +74,8 @@ class SlotTest {
assertEquals(0, s.getNLower());
assertEquals(1, s.getNUpper());
assertEquals(0, s.getNMinPlayer());
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString());
}
System.out.println(s);
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); }
@Test
void SlotIdD() {
@@ -85,7 +87,8 @@ class SlotTest {
assertEquals(2, s.getNLower());
assertEquals(0, s.getNUpper());
assertEquals(3, s.getNMinPlayer());
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString());
System.out.println(s);
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString());
}
@Test
@@ -98,7 +101,8 @@ class SlotTest {
assertEquals(1, s.getNLower());
assertEquals(1, s.getNUpper());
assertEquals(0, s.getNMinPlayer());
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString());
System.out.println(s);
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString());
}
@Test
@@ -111,7 +115,8 @@ class SlotTest {
assertEquals(0, s.getNLower());
assertEquals(2, s.getNUpper());
assertEquals(0, s.getNMinPlayer());
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString());
System.out.println(s);
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString());
}
@Test
@@ -124,6 +129,7 @@ class SlotTest {
assertEquals(1, s.getNLower());
assertEquals(2, s.getNUpper());
assertEquals(4, s.getNMinPlayer());
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString());
System.out.println(s);
assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString());
}
}