From 08153bf8448bc2578218b44d08087a19c4750b6a Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sun, 3 May 2026 18:30:30 +0200 Subject: [PATCH] Add: Added Missing Tests For "toString" Methods In Order*.java And For "toStringBoard" In HunterTest.java. --- .../TribeCards/Characters/HunterTest.java | 9 +++ .../ingsw/gc14/Model/Orders/Order2Test.java | 41 +++++++++++- .../ingsw/gc14/Model/Orders/Order3Test.java | 62 ++++++++++++----- .../ingsw/gc14/Model/Orders/Order4Test.java | 65 ++++++++++++++++-- .../ingsw/gc14/Model/Orders/Order5Test.java | 67 +++++++++++++++++-- 5 files changed, 213 insertions(+), 31 deletions(-) diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java index 74be4a2..4313efe 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/HunterTest.java @@ -24,6 +24,15 @@ class HunterTest { 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 void testClone() { Hunter h = new Hunter(1, true, 3); diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order2Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order2Test.java index b21cb30..0971e8a 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order2Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order2Test.java @@ -155,15 +155,52 @@ 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"); + String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz"; + 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))); + + 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(); + + 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(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(); + + 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); +// }); } } \ No newline at end of file diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order3Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order3Test.java index 60905a5..686172a 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order3Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order3Test.java @@ -183,26 +183,54 @@ class Order3Test { } @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 values =(ArrayList)field.get(order); + String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz"; + String usr2 = "L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk"; + String usr3 = "L*Ncw1rjjrF2xn%H@4d1iC@&NNIooQQk"; - String userPulled=order.pull().getUserName(); - userPulled=order.pull().getUserName(); - userPulled=order.pull().getUserName(); + 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))); - 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); - values =(ArrayList)field.get(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()); + 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().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 } } diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order4Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order4Test.java index 58873a0..67d4023 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order4Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order4Test.java @@ -274,12 +274,65 @@ class Order4Test { @Test 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(); + String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz"; + String usr2 = "L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk"; + String usr3 = "L*Ncw1rjjrF2xn%H@4d1iC@&NNIooQQk"; + String usr4 = "L*Ncw1rjkrF2xn%H@4d1iC@&NNIooQQk"; + 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 } } \ No newline at end of file diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order5Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order5Test.java index 1c97434..a43efb8 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order5Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order5Test.java @@ -369,19 +369,74 @@ class Order5Test { } @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))); + String usr1 = "wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz"; + String usr2 = "L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk"; + String usr3 = "L*Ncw1rjjrF2xn%H@4d1iC@&NNIooQQk"; + String usr4 = "L*Ncw1rjkrF2xn%H@4d1iC@&NNIooQQk"; + 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))); + + 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(); + + 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); + 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 } }