From 72c219da5a2311fd6b778f5213d200858c2f0daf Mon Sep 17 00:00:00 2001 From: MatteoPellegrino05 Date: Fri, 27 Mar 2026 18:14:42 +0100 Subject: [PATCH] Fix: OrderTest --- .../ingsw/gc14/Model/Orders/Order2Test.java | 67 +++++++--- .../ingsw/gc14/Model/Orders/Order3Test.java | 83 ++++++++---- .../ingsw/gc14/Model/Orders/Order4Test.java | 94 ++++++++++---- .../ingsw/gc14/Model/Orders/Order5Test.java | 120 +++++++++++++----- 4 files changed, 258 insertions(+), 106 deletions(-) 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 e769ae8..d870839 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 @@ -10,32 +10,57 @@ import static org.junit.jupiter.api.Assertions.*; class Order2Test { @Test - void effect() { - Player p1 = new Player("p1"); - Player p2 = new Player("p2"); - Player p3 = new Player("p3"); - + void effectZero() { + Player p = new Player("p1"); Order2 order = new Order2(new ArrayList<>()); - order.push(p1); - assertEquals(1, p1.getFoodValue()); - assertEquals(0, p2.getPrestigeValue()); + int initialFood = p.getFoodValue(); - p2.addFood(1); - order.push(p2); - assertEquals(1, p1.getFoodValue()); - assertEquals(0, p1.getPrestigeValue()); + order.effect(p, 0); + assertEquals(initialFood + 1, p.getFoodValue()); + } - Order2 order2 = new Order2(new ArrayList<>()); - order2.push(new Player("Test")); - order2.push(p3); - assertEquals(0, p3.getFoodValue()); - assertEquals(0, p3.getPrestigeValue()); + @Test + void effectOneWithFood() { + Player p = new Player("p1"); + Order2 order = new Order2(new ArrayList<>()); - Order2 order3 = new Order2(new ArrayList<>()); - assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 2)); - Order2 order4 = new Order2(new ArrayList<>()); - assertThrows(IndexOutOfBoundsException.class, () -> order4.effect(p1, -1)); + p.addFood(1); + int initialPrestige = p.getPrestigeValue(); + + order.effect(p, 1); + + assertEquals(0, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectOneWithoutFood() { + Player p = new Player("p1"); + Order2 order = new Order2(new ArrayList<>()); + + p.addPrestige(3); + + order.effect(p, 1); + + assertEquals(0, p.getFoodValue()); + assertEquals(1, p.getPrestigeValue()); + } + + @Test + void effectWrongIndexHigh() { + Player p = new Player("p1"); + Order2 order = new Order2(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 2)); + } + + @Test + void effectWrongIndexLow() { + Player p = new Player("p1"); + Order2 order = new Order2(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1)); } } \ 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 2910434..fd801b3 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 @@ -10,34 +10,71 @@ import static org.junit.jupiter.api.Assertions.*; class Order3Test { @Test - void effect() { - Player p1 = new Player("Luca"); - Player p2 = new Player("Mario"); - Player p3 = new Player("Gabriele"); - + void effectZero() { + Player p = new Player("Luca"); Order3 order = new Order3(new ArrayList<>()); - order.push(p1); - assertEquals(2, p1.getFoodValue()); + int initialFood = p.getFoodValue(); - order.push(p2); - assertEquals(0, p2.getFoodValue()); + order.effect(p, 0); - p3.addFood(1); - order.push(p3); - assertEquals(0, p3.getFoodValue()); - assertEquals(-2, p3.getPrestigeValue()); + assertEquals(initialFood + 2, p.getFoodValue()); + } - Player p4 = new Player("Giorgio"); - Order3 order2 = new Order3(new ArrayList<>()); - order2.push(new Player("Tommaso")); - order2.push(new Player("Antonio")); - order2.push(p4); - assertEquals(0, p4.getFoodValue()); - assertEquals(0, p4.getPrestigeValue()); + @Test + void effectOne() { + Player p = new Player("Mario"); + Order3 order = new Order3(new ArrayList<>()); - Order3 order3 = new Order3(new ArrayList<>()); - assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 3)); - assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, -1)); + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); + + order.effect(p, 1); + + assertEquals(initialFood, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectTwoWithFood() { + Player p = new Player("Gabriele"); + Order3 order = new Order3(new ArrayList<>()); + + p.addFood(1); + + order.effect(p, 2); + + assertEquals(0, p.getFoodValue()); + assertEquals(-2, p.getPrestigeValue()); + } + + @Test + void effectTwoWithoutFood() { + Player p = new Player("Giorgio"); + Order3 order = new Order3(new ArrayList<>()); + + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); + + order.effect(p, 2); + + assertEquals(initialFood, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectWrongIndexHigh() { + Player p = new Player("Luca"); + Order3 order = new Order3(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 3)); + } + + @Test + void effectWrongIndexLow() { + Player p = new Player("Luca"); + Order3 order = new Order3(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1)); } } \ No newline at end of file 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 95895da..e935965 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 @@ -10,43 +10,83 @@ import static org.junit.jupiter.api.Assertions.*; class Order4Test { @Test - void effect() { - Player p1 = new Player("Marco"); - Player p2 = new Player("Luca"); - Player p3 = new Player("Antonio"); - Player p4 = new Player("Giovanni"); - + void effectZero() { + Player p = new Player("Marco"); Order4 order = new Order4(new ArrayList<>()); + int initialFood = p.getFoodValue(); - order.push(p1); - assertEquals(2, p1.getFoodValue()); + order.effect(p, 0); + assertEquals(initialFood + 2, p.getFoodValue()); + } - order.push(p2); - assertEquals(1, p2.getFoodValue()); + @Test + void effectOne() { + Player p = new Player("Luca"); + Order4 order = new Order4(new ArrayList<>()); + int initialFood = p.getFoodValue(); - order.push(p3); - assertEquals(0, p3.getFoodValue()); + order.effect(p, 1); + assertEquals(initialFood + 1, p.getFoodValue()); + } - p4.addFood(1); - order.push(p4); - assertEquals(0, p4.getFoodValue()); - assertEquals(-2, p4.getPrestigeValue()); + @Test + void effectTwo() { + Player p = new Player("Antonio"); + Order4 order = new Order4(new ArrayList<>()); - Player p5 = new Player("test"); - Order4 order2 = new Order4(new ArrayList<>()); - order2.push(new Player("Ospite1")); - order2.push(new Player("Ospite2")); - order2.push(new Player("Ospite3")); - order2.push(p5); - assertEquals(0, p5.getFoodValue()); - assertEquals(0, p5.getPrestigeValue()); + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); - Order4 order3 = new Order4(new ArrayList<>()); - assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 4)); - assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, -1)); + order.effect(p, 2); + + assertEquals(initialFood, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectThreeWithFood() { + Player p = new Player("Giovanni"); + Order4 order = new Order4(new ArrayList<>()); + + p.addFood(1); + + order.effect(p, 3); + + assertEquals(0, p.getFoodValue()); + assertEquals(-2, p.getPrestigeValue()); + } + + @Test + void effectThreeWithoutFood() { + Player p = new Player("test"); + Order4 order = new Order4(new ArrayList<>()); + + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); + + order.effect(p, 3); + + assertEquals(initialFood, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectWrongIndexHigh() { + Player p = new Player("Marco"); + Order4 order = new Order4(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 4)); + } + + @Test + void effectWrongIndexLow() { + Player p = new Player("Marco"); + Order4 order = new Order4(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1)); } } \ 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 2936cd6..f3678c6 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 @@ -10,50 +10,100 @@ import static org.junit.jupiter.api.Assertions.*; class Order5Test { @Test - void effect() { - Player p1 = new Player("Marco"); - Player p2 = new Player("Luca"); - Player p3 = new Player("Antonio"); - Player p4 = new Player("Giovanni"); - Player p5 = new Player("Francesco"); - + void effectZero() { + Player p = new Player("Marco"); Order5 order = new Order5(new ArrayList<>()); - order.push(p1); - assertEquals(3, p1.getFoodValue()); - assertEquals(0, p1.getPrestigeValue()); + int initialFood = p.getFoodValue(); - order.push(p2); - assertEquals(1, p2.getFoodValue()); - assertEquals(0, p2.getPrestigeValue()); + order.effect(p, 0); - order.push(p3); - assertEquals(0, p3.getFoodValue()); - assertEquals(0, p3.getPrestigeValue()); + assertEquals(initialFood + 3, p.getFoodValue()); + assertEquals(0, p.getPrestigeValue()); + } - order.push(p4); - assertEquals(0, p4.getFoodValue()); - assertEquals(0, p4.getPrestigeValue()); + @Test + void effectOne() { + Player p = new Player("Luca"); + Order5 order = new Order5(new ArrayList<>()); - p5.addFood(1); - order.push(p5); - assertEquals(0, p5.getFoodValue()); - assertEquals(-2, p5.getPrestigeValue()); + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); + order.effect(p, 1); - Player p6 = new Player("Giulio"); - Order5 order2 = new Order5(new ArrayList<>()); - order2.push(new Player("Guest1")); - order2.push(new Player("Guest2")); - order2.push(new Player("Guest3")); - order2.push(new Player("Guest4")); - order2.push(p6); - assertEquals(0, p6.getFoodValue()); - assertEquals(0, p6.getPrestigeValue()); + assertEquals(initialFood + 1, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + @Test + void effectTwo() { + Player p = new Player("Antonio"); + Order5 order = new Order5(new ArrayList<>()); - Order5 order3 = new Order5(new ArrayList<>()); - assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 5)); - assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, -1)); + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); + + order.effect(p, 2); + + assertEquals(initialFood, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectThree() { + Player p = new Player("Giovanni"); + Order5 order = new Order5(new ArrayList<>()); + + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); + + order.effect(p, 3); + + assertEquals(initialFood, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectFourWithFood() { + Player p = new Player("Francesco"); + Order5 order = new Order5(new ArrayList<>()); + + p.addFood(1); + + order.effect(p, 4); + + assertEquals(0, p.getFoodValue()); + assertEquals(-2, p.getPrestigeValue()); + } + + @Test + void effectFourWithoutFood() { + Player p = new Player("Giulio"); + Order5 order = new Order5(new ArrayList<>()); + + int initialFood = p.getFoodValue(); + int initialPrestige = p.getPrestigeValue(); + + order.effect(p, 4); + + assertEquals(initialFood, p.getFoodValue()); + assertEquals(initialPrestige, p.getPrestigeValue()); + } + + @Test + void effectWrongIndexHigh() { + Player p = new Player("Marco"); + Order5 order = new Order5(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 5)); + } + + @Test + void effectWrongIndexLow() { + Player p = new Player("Marco"); + Order5 order = new Order5(new ArrayList<>()); + + assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1)); } } \ No newline at end of file