Fix: Orders
This commit is contained in:
@@ -3,14 +3,19 @@ package it.polimi.ingsw.gc14.Model.Orders;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
||||
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
import jdk.jshell.spi.ExecutionControl;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class Order2 extends OrderLogicCard {
|
||||
public Order2(ArrayList<Player> players) {
|
||||
public Order2(ArrayList<Player> players)throws NoSuchElementException {
|
||||
if(players.size()!=2)
|
||||
throw new NoSuchElementException();
|
||||
super(players);
|
||||
|
||||
}
|
||||
@Override
|
||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
{
|
||||
if(index >= 2 || index < 0)
|
||||
{
|
||||
|
||||
@@ -4,13 +4,16 @@ import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
public class Order3 extends OrderLogicCard {
|
||||
public Order3(ArrayList<Player> players) {
|
||||
public Order3(ArrayList<Player> players) throws NoSuchElementException{
|
||||
if(players.size()!=3)
|
||||
throw new NoSuchElementException();
|
||||
super(players);
|
||||
}
|
||||
@Override
|
||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
{
|
||||
if(index >= 3 || index < 0)
|
||||
{
|
||||
|
||||
@@ -4,13 +4,16 @@ import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
public class Order4 extends OrderLogicCard {
|
||||
public Order4(ArrayList<Player> players) {
|
||||
public Order4(ArrayList<Player> players)throws NoSuchElementException {
|
||||
if(players.size()!=4)
|
||||
throw new NoSuchElementException();
|
||||
super(players);
|
||||
}
|
||||
@Override
|
||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
{
|
||||
if(index>=4 || index < 0)
|
||||
{
|
||||
|
||||
@@ -4,13 +4,16 @@ import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
public class Order5 extends OrderLogicCard {
|
||||
public Order5(ArrayList<Player> players) {
|
||||
public Order5(ArrayList<Player> players) throws NoSuchElementException{
|
||||
if(players.size()!=5)
|
||||
throw new NoSuchElementException();
|
||||
super(players);
|
||||
}
|
||||
@Override
|
||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||
{
|
||||
if(index>=5 || index < 0)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user