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.Cards.BuildingCard;
|
||||||
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
import jdk.jshell.spi.ExecutionControl;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class Order2 extends OrderLogicCard {
|
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);
|
super(players);
|
||||||
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
if(index >= 2 || index < 0)
|
if(index >= 2 || index < 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,13 +4,16 @@ import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order3 extends OrderLogicCard {
|
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);
|
super(players);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
if(index >= 3 || index < 0)
|
if(index >= 3 || index < 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,13 +4,16 @@ import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order4 extends OrderLogicCard {
|
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);
|
super(players);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
if(index>=4 || index < 0)
|
if(index>=4 || index < 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,13 +4,16 @@ import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order5 extends OrderLogicCard {
|
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);
|
super(players);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void effect(Player player,int index) throws IndexOutOfBoundsException
|
protected void effect(Player player,int index) throws IndexOutOfBoundsException
|
||||||
{
|
{
|
||||||
if(index>=5 || index < 0)
|
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 it.polimi.ingsw.gc14.Model.Player;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
@@ -123,30 +124,18 @@ class Order2Test {
|
|||||||
Player secondOut = order.pull();
|
Player secondOut = order.pull();
|
||||||
|
|
||||||
assertTrue((firstOut == p1 && secondOut == p2) || (firstOut == p2 && secondOut == p1));
|
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
|
@Test
|
||||||
void getFirst() {
|
void getFirst() {
|
||||||
Player p1 = new Player("p1");
|
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());
|
assertNull(order.getFirst());
|
||||||
|
|
||||||
order.push(p1);
|
order.push(p1);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
@@ -174,30 +175,20 @@ class Order3Test {
|
|||||||
assertNotEquals(firstOut, secondOut);
|
assertNotEquals(firstOut, secondOut);
|
||||||
assertNotEquals(firstOut, thirdOut);
|
assertNotEquals(firstOut, thirdOut);
|
||||||
assertNotEquals(secondOut, thirdOut);
|
assertNotEquals(secondOut, thirdOut);
|
||||||
assertThrows(NoSuchElementException.class, order::pull);
|
assertNull(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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void getFirst() {
|
void getFirst() {
|
||||||
Player p1 = new Player("p1");
|
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());
|
assertNull(order.getFirst());
|
||||||
|
|
||||||
order.push(p1);
|
order.push(p1);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
@@ -257,30 +258,21 @@ class Order4Test {
|
|||||||
assertNotEquals(secondOut, fourthOut);
|
assertNotEquals(secondOut, fourthOut);
|
||||||
assertNotEquals(thirdOut, fourthOut);
|
assertNotEquals(thirdOut, fourthOut);
|
||||||
|
|
||||||
assertThrows(NoSuchElementException.class, order::pull);
|
assertNull(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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void getFirst() {
|
void getFirst() {
|
||||||
Player p1 = new Player("p1");
|
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());
|
assertNull(order.getFirst());
|
||||||
|
|
||||||
order.push(p1);
|
order.push(p1);
|
||||||
|
|||||||
@@ -4,10 +4,7 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.NoSuchElementException;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
@@ -334,30 +331,22 @@ class Order5Test {
|
|||||||
assertNotEquals(thirdOut, fifthOut);
|
assertNotEquals(thirdOut, fifthOut);
|
||||||
assertNotEquals(fourthOut, fifthOut);
|
assertNotEquals(fourthOut, fifthOut);
|
||||||
|
|
||||||
assertThrows(NoSuchElementException.class, order::pull);
|
assertEquals(null, 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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void getFirst() {
|
void getFirst() {
|
||||||
Player p1 = new Player("p1");
|
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());
|
assertNull(order.getFirst());
|
||||||
|
|
||||||
order.push(p1);
|
order.push(p1);
|
||||||
|
|||||||
Reference in New Issue
Block a user