Fix: Orders

This commit is contained in:
rubenpirreram
2026-04-11 15:35:30 +02:00
parent 902e4ac729
commit cc460f414b
8 changed files with 60 additions and 85 deletions
@@ -4,6 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
import static org.junit.jupiter.api.Assertions.*;
@@ -123,30 +124,18 @@ class Order2Test {
Player secondOut = order.pull();
assertTrue((firstOut == p1 && secondOut == p2) || (firstOut == p2 && secondOut == p1));
assertThrows(NoSuchElementException.class, order::pull);
assertNull(order.pull());
}
@Test
void wrongIndexLow() {
Player p = new Player("p1");
Order2 order = new Order2(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1));
}
@Test
void wrongIndexHigh() {
Player p = new Player("p1");
Order2 order = new Order2(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 2));
}
@Test
void getFirst() {
Player p1 = new Player("p1");
Order2 order = new Order2(new ArrayList<>());
Player p2 = new Player("p2");
Order2 order = new Order2(new ArrayList<>(Arrays.asList(p1, p2)));
order.pull();
order.pull();
assertNull(order.getFirst());
order.push(p1);
@@ -4,6 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
import static org.junit.jupiter.api.Assertions.*;
@@ -174,30 +175,20 @@ class Order3Test {
assertNotEquals(firstOut, secondOut);
assertNotEquals(firstOut, thirdOut);
assertNotEquals(secondOut, thirdOut);
assertThrows(NoSuchElementException.class, order::pull);
}
@Test
void wrongIndexLow() {
Player p = new Player("p1");
Order3 order = new Order3(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1));
}
@Test
void wrongIndexHigh() {
Player p = new Player("p1");
Order3 order = new Order3(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 3));
assertNull(order.pull());
}
@Test
void getFirst() {
Player p1 = new Player("p1");
Order3 order = new Order3(new ArrayList<>());
Player p2 = new Player("p2");
Player p3 = new Player("p3");
Order3 order = new Order3(new ArrayList<>(Arrays.asList(p1, p2, p3)));
order.pull();
order.pull();
order.pull();
assertNull(order.getFirst());
order.push(p1);
@@ -4,6 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.NoSuchElementException;
import static org.junit.jupiter.api.Assertions.*;
@@ -257,30 +258,21 @@ class Order4Test {
assertNotEquals(secondOut, fourthOut);
assertNotEquals(thirdOut, fourthOut);
assertThrows(NoSuchElementException.class, order::pull);
}
@Test
void wrongIndexLow() {
Player p = new Player("p1");
Order4 order = new Order4(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1));
}
@Test
void wrongIndexHigh() {
Player p = new Player("p1");
Order4 order = new Order4(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 4));
assertNull(order.pull());
}
@Test
void getFirst() {
Player p1 = new Player("p1");
Order4 order = new Order4(new ArrayList<>());
Player p2 = new Player("p2");
Player p3 = new Player("p3");
Player p4 = new Player("p4");
Order4 order = new Order4(new ArrayList<>(Arrays.asList(p1, p2, p3, p4)));
order.pull();
order.pull();
order.pull();
order.pull();
assertNull(order.getFirst());
order.push(p1);
@@ -4,10 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Player;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.*;
import static org.junit.jupiter.api.Assertions.*;
@@ -334,30 +331,22 @@ class Order5Test {
assertNotEquals(thirdOut, fifthOut);
assertNotEquals(fourthOut, fifthOut);
assertThrows(NoSuchElementException.class, order::pull);
}
@Test
void wrongIndexLow() {
Player p = new Player("p1");
Order5 order = new Order5(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, -1));
}
@Test
void wrongIndexHigh() {
Player p = new Player("p1");
Order5 order = new Order5(new ArrayList<>());
assertThrows(IndexOutOfBoundsException.class, () -> order.effect(p, 5));
assertEquals(null, order.pull());
}
@Test
void getFirst() {
Player p1 = new Player("p1");
Order5 order = new Order5(new ArrayList<>());
Player p2 = new Player("p2");
Player p3 = new Player("p3");
Player p4 = new Player("p4");
Player p5 = new Player("p5");
Order5 order = new Order5(new ArrayList<>(Arrays.asList(p1,p2,p3,p4,p5)));
Player firstOut = order.pull();
Player secondOut = order.pull();
Player thirdOut = order.pull();
Player fourthOut = order.pull();
Player fifthOut = order.pull();
assertNull(order.getFirst());
order.push(p1);