Add: Added Missing Tests For "toString" Methods In Order*.java And For "toStringBoard" In HunterTest.java.

This commit is contained in:
GabrieleRadice
2026-05-03 18:30:30 +02:00
parent b84c88c929
commit 08153bf844
5 changed files with 213 additions and 31 deletions
@@ -24,6 +24,15 @@ class HunterTest {
assertFalse(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
void testClone() { void testClone() {
Hunter h = new Hunter(1, true, 3); Hunter h = new Hunter(1, true, 3);
@@ -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";
Player p1 = new Player(usr1);
Player p2 = new Player(usr2);
Player p3 = new Player(usr3);
Order3 order = new Order3(new ArrayList<>(Arrays.asList(p1, p2, p3))); 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(); assertTrue(order.toString().contains(usr1));
userPulled=order.pull().getUserName(); assertTrue(order.toString().contains(usr2));
userPulled=order.pull().getUserName(); assertTrue(order.toString().contains(usr3));
assertTrue(order.toString().contains("+2 Food"));
assertTrue(order.toString().contains("--"));
assertTrue(order.toString().contains("-1 Food / -2 PP"));
order.push(p1); 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";
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))); 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
} }
} }