Fix: OrderTest

This commit is contained in:
MatteoPellegrino05
2026-03-27 18:14:42 +01:00
parent e3cbee7ba0
commit 72c219da5a
4 changed files with 258 additions and 106 deletions
@@ -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));
}
}
@@ -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));
}
}
@@ -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));
}
}
@@ -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));
}
}