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 new file mode 100644 index 0000000..03cbc85 --- /dev/null +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order2Test.java @@ -0,0 +1,39 @@ +package it.polimi.ingsw.gc14.Model.Orders; + +import it.polimi.ingsw.gc14.Model.Player; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +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"); + + Order2 order = new Order2(new ArrayList<>()); + + order.push(p1); + assertEquals(1, p1.getFoodValue()); + assertEquals(0, p2.getPrestigeValue()); + + p2.addFood(1); + order.push(p2); + assertEquals(1, p1.getFoodValue()); + assertEquals(0, p1.getPrestigeValue()); + + + Order2 order2 = new Order2(new ArrayList<>()); + order2.push(new Player("Test")); + order2.push(p3); + assertEquals(0, p3.getFoodValue()); + assertEquals(0, p3.getPrestigeValue()); + + Order2 order3 = new Order2(new ArrayList<>()); + assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 2)); + } +} \ 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 new file mode 100644 index 0000000..fe069a7 --- /dev/null +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order3Test.java @@ -0,0 +1,44 @@ +package it.polimi.ingsw.gc14.Model.Orders; + +import it.polimi.ingsw.gc14.Model.Player; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +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"); + + Order3 order = new Order3(new ArrayList<>()); + + order.push(p1); + assertEquals(2, p1.getFoodValue()); + assertEquals(0, p1.getFoodValue()); + + order.push(p2); + assertEquals(0, p2.getFoodValue()); + assertEquals(0, p2.getFoodValue()); + + p3.addFood(1); + order.push(p3); + assertEquals(0, p3.getFoodValue()); + assertEquals(-2, p3.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.getFoodValue()); + + Order3 order3 = new Order3(new ArrayList<>()); + assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 3)); + } +} \ 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 new file mode 100644 index 0000000..d89bd20 --- /dev/null +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order4Test.java @@ -0,0 +1,54 @@ +package it.polimi.ingsw.gc14.Model.Orders; + +import it.polimi.ingsw.gc14.Model.Player; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +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"); + + Order4 order = new Order4(new ArrayList<>()); + + + order.push(p1); + assertEquals(2, p1.getFoodValue()); + assertEquals(0, p1.getFoodValue()); + + + order.push(p2); + assertEquals(1, p2.getFoodValue()); + assertEquals(0, p2.getFoodValue()); + + + order.push(p3); + assertEquals(0, p3.getFoodValue()); + assertEquals(0, p3.getFoodValue()); + + + p4.addFood(1); + order.push(p4); + assertEquals(0, p4.getFoodValue()); + assertEquals(-2, p4.getFoodValue()); + + 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()); + + Order4 order3 = new Order4(new ArrayList<>()); + assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 4)); + } +} \ 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 new file mode 100644 index 0000000..e936317 --- /dev/null +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Orders/Order5Test.java @@ -0,0 +1,58 @@ +package it.polimi.ingsw.gc14.Model.Orders; + +import it.polimi.ingsw.gc14.Model.Player; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; + +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"); + + Order5 order = new Order5(new ArrayList<>()); + + order.push(p1); + assertEquals(3, p1.getFoodValue()); + assertEquals(0, p1.getPrestigeValue()); + + order.push(p2); + assertEquals(1, p2.getFoodValue()); + assertEquals(0, p2.getPrestigeValue()); + + order.push(p3); + assertEquals(0, p3.getFoodValue()); + assertEquals(0, p3.getPrestigeValue()); + + order.push(p4); + assertEquals(0, p4.getFoodValue()); + assertEquals(0, p4.getPrestigeValue()); + + p5.addFood(1); + order.push(p5); + assertEquals(0, p5.getFoodValue()); + assertEquals(-2, p5.getPrestigeValue()); + + + 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()); + + + Order5 order3 = new Order5(new ArrayList<>()); + assertThrows(IndexOutOfBoundsException.class, () -> order3.effect(p1, 5)); + } +} \ No newline at end of file