added two new pieceTests

This commit is contained in:
Benjamin Feyer
2024-12-02 22:10:11 +01:00
parent bd55a1f08d
commit 50ac201277

View File

@@ -19,6 +19,8 @@
import pp.mdga.server.automaton.game.turn.PowerCardState; import pp.mdga.server.automaton.game.turn.PowerCardState;
import pp.mdga.server.automaton.game.turn.RollDiceState; import pp.mdga.server.automaton.game.turn.RollDiceState;
import pp.mdga.server.automaton.game.turn.choosepiece.SelectPieceState; import pp.mdga.server.automaton.game.turn.choosepiece.SelectPieceState;
import pp.mdga.server.automaton.game.turn.choosepiece.StartPieceState;
import pp.mdga.server.automaton.game.turn.choosepiece.WaitingPieceState;
import pp.mdga.server.automaton.game.turn.rolldice.FirstRollState; import pp.mdga.server.automaton.game.turn.rolldice.FirstRollState;
import java.sql.SQLOutput; import java.sql.SQLOutput;
@@ -61,9 +63,21 @@ public class PieceTest {
private Piece pieceHost2; private Piece pieceHost2;
private Piece pieceHost3; private Piece pieceHost3;
//declare cyberPlayer here
private String nameCyber;
private Player playerCyber;
private Color cyberColor;
//declare cyberPieces
private Piece pieceCyber0;
private Piece pieceCyber1;
private Piece pieceCyber2;
private Piece pieceCyber3;
//ID's for player //ID's for player
private int IDHost = 1; private int IDHost;
private int IDClient = 2; private int IDClient;
private int IDCyber;
//declare states //declare states
GameState gameState; GameState gameState;
@@ -74,6 +88,8 @@ public class PieceTest {
SelectPieceState selectPieceState; SelectPieceState selectPieceState;
PowerCardState powerCardState; PowerCardState powerCardState;
PlayPowerCardState playPowerCardState; PlayPowerCardState playPowerCardState;
WaitingPieceState waitingPieceState;
StartPieceState startPieceState;
//declare dies //declare dies
private Die die1; private Die die1;
@@ -109,6 +125,10 @@ public void disconnectClient(int id) {
} }
}, game); }, game);
IDHost = 1;
IDClient = 2;
IDCyber = 3;
//declare player-Client here //declare player-Client here
playerClient = new Player(nameClient); playerClient = new Player(nameClient);
@@ -122,8 +142,12 @@ public void disconnectClient(int id) {
playerHost.setColor(hostColor); playerHost.setColor(hostColor);
game.addPlayer(IDHost, playerHost); game.addPlayer(IDHost, playerHost);
System.out.println(game.getPlayers().get(IDClient)); //declare playerCyber here
System.out.println(game.getPlayers().get(IDHost)); nameCyber = "Cyber";
playerCyber = new Player(nameCyber);
cyberColor = Color.CYBER;
playerCyber.setColor(cyberColor);
game.addPlayer(IDCyber, playerCyber);
//initialize the playerData //initialize the playerData
for(Map.Entry<Integer, Player> entry : game.getPlayers().entrySet()){ for(Map.Entry<Integer, Player> entry : game.getPlayers().entrySet()){
@@ -156,6 +180,17 @@ public void disconnectClient(int id) {
game.getBoard().getPlayerData().get(hostColor).removePieceFromWaitingArea(); game.getBoard().getPlayerData().get(hostColor).removePieceFromWaitingArea();
} }
//declare pieces of cyber here
pieceCyber0= game.getBoard().getPlayerData().get(cyberColor).getPieces()[0];
pieceCyber1= game.getBoard().getPlayerData().get(cyberColor).getPieces()[1];
pieceCyber2= game.getBoard().getPlayerData().get(cyberColor).getPieces()[2];
pieceCyber3= game.getBoard().getPlayerData().get(cyberColor).getPieces()[3];
//clear waiting-area of cyber
for (int i = 0; i < 4; i++) {
game.getBoard().getPlayerData().get(cyberColor).removePieceFromWaitingArea();
}
//set the Client-pieces here //set the Client-pieces here
game.getBoard().setPieceOnBoard(25, pieceClient0); //for UC 02, 03.01, 14,4 game.getBoard().setPieceOnBoard(25, pieceClient0); //for UC 02, 03.01, 14,4
game.getBoard().getPlayerData().get(clientColor).setPieceInHome(1, pieceClient1); //set piece in Home at 2 slot for UC 18,12,13,11 game.getBoard().getPlayerData().get(clientColor).setPieceInHome(1, pieceClient1); //set piece in Home at 2 slot for UC 18,12,13,11
@@ -169,6 +204,13 @@ public void disconnectClient(int id) {
game.getBoard().getPlayerData().get(hostColor).addWaitingPiece(pieceClient2); //set in waitingArea fur uc 5 game.getBoard().getPlayerData().get(hostColor).addWaitingPiece(pieceClient2); //set in waitingArea fur uc 5
game.getBoard().setPieceOnBoard(0, pieceHost3); //for uc 9 game.getBoard().setPieceOnBoard(0, pieceHost3); //for uc 9
//set the pieces of cyber
game.getBoard().setPieceOnBoard(10,pieceCyber0); // for UC 6,7,8
game.getBoard().setPieceOnBoard(12,pieceCyber1); //
game.getBoard().getPlayerData().get(cyberColor).addWaitingPiece(pieceClient3); //for uc 7
//game..... todo
//initializes the states //initializes the states
gameState= serverGameLogic.getGameState(); gameState= serverGameLogic.getGameState();
turnState= gameState.getTurnState(); turnState= gameState.getTurnState();
@@ -178,6 +220,8 @@ public void disconnectClient(int id) {
selectPieceState= choosePieceState.getSelectPieceState(); selectPieceState= choosePieceState.getSelectPieceState();
powerCardState = turnState.getPowerCardState(); powerCardState = turnState.getPowerCardState();
playPowerCardState = turnState.getPlayPowerCardState(); playPowerCardState = turnState.getPlayPowerCardState();
waitingPieceState =serverGameLogic.getGameState().getTurnState().getChoosePieceState().getWaitingPieceState();
startPieceState = serverGameLogic.getGameState().getTurnState().getChoosePieceState().getStartPieceState();
//initialize dies //initialize dies
die1 = new Die(1); die1 = new Die(1);
@@ -386,6 +430,12 @@ public void testLeaveWaitingArea() {
//send requestDice //send requestDice
serverGameLogic.received(new RequestDieMessage(),IDHost); serverGameLogic.received(new RequestDieMessage(),IDHost);
//tests if the sever is in selectPiece
assertEquals(serverGameLogic.getCurrentState(),gameState);
assertEquals(gameState.getCurrentState(), turnState);
assertEquals(turnState.getCurrentState(),choosePieceState);
assertEquals(choosePieceState.getCurrentState(),waitingPieceState);
//send requestMove-message //send requestMove-message
serverGameLogic.received(new RequestMoveMessage(pieceHost2.getUuid()),IDHost); serverGameLogic.received(new RequestMoveMessage(pieceHost2.getUuid()),IDHost);
@@ -405,7 +455,53 @@ public void testLeaveWaitingArea() {
*/ */
@Test @Test
public void testMustLeaveStartingField() { public void testMustLeaveStartingField() {
// TODO: Implement test logic for a piece that must leave the starting field //sends the server in firstRoll
serverGameLogic.setCurrentState(gameState);
gameState.setCurrentState(turnState);
turnState.setCurrentState(rollDiceState);
rollDiceState.setCurrentState(firstRollState);
//tests if the server is in firstRoll
assertEquals(serverGameLogic.getCurrentState(),gameState);
assertEquals(gameState.getCurrentState(), turnState);
assertEquals(turnState.getCurrentState(),rollDiceState);
assertEquals(rollDiceState.getCurrentState(),firstRollState);
//sets the activePlayer to cyber
game.setActiveColor(cyberColor);
//set Dice to 4
game.setDie(die4);
//send requestDiceMessage
serverGameLogic.received(new RequestDieMessage(),IDCyber);
//tests if the sever is in startPiece
serverGameLogic.setCurrentState(gameState);
gameState.setCurrentState(turnState);
turnState.setCurrentState(choosePieceState);
choosePieceState.setCurrentState(startPieceState);
//send requestMoveMessage
serverGameLogic.received(new RequestMoveMessage(pieceHost1.getUuid()),IDCyber);
//tests if the cyberPiece2 has moved
assertTrue(game.getBoard().getInfield()[12].isOccupied());
assertEquals(game.getBoard().getInfield()[12].getOccupant(),pieceCyber1);
//tests if the sever is in startPiece
serverGameLogic.setCurrentState(gameState);
gameState.setCurrentState(turnState);
turnState.setCurrentState(choosePieceState);
choosePieceState.setCurrentState(startPieceState);
//send requestMoveMessage
serverGameLogic.received(new RequestMoveMessage(pieceHost0.getUuid()),IDCyber);
//tests if the piece is moved
assertTrue(game.getBoard().getInfield()[14].isOccupied());
assertEquals(game.getBoard().getInfield()[14].getOccupant(),pieceHost0);
assertFalse(game.getBoard().getInfield()[10].isOccupied());
} }
/** /**
@@ -427,7 +523,58 @@ public void testDontHaveToLeaveStartingField() {
*/ */
@Test @Test
public void testCantLeaveStartingField() { public void testCantLeaveStartingField() {
// TODO: Implement test logic for when a piece can't leave the starting field //sends the server in firstRoll
serverGameLogic.setCurrentState(gameState);
gameState.setCurrentState(turnState);
turnState.setCurrentState(rollDiceState);
rollDiceState.setCurrentState(firstRollState);
//tests if the server is in firstRoll
assertEquals(serverGameLogic.getCurrentState(),gameState);
assertEquals(gameState.getCurrentState(), turnState);
assertEquals(turnState.getCurrentState(),rollDiceState);
assertEquals(rollDiceState.getCurrentState(),firstRollState);
//sets the activePlayer to cyber
game.setActiveColor(cyberColor);
//set Dice to two
game.setDie(die2);
//send requestDiceMessage
serverGameLogic.received(new RequestDieMessage(),IDCyber);
//tests if the sever is in selectPiece
assertEquals(serverGameLogic.getCurrentState(),gameState);
assertEquals(gameState.getCurrentState(), turnState);
assertEquals(turnState.getCurrentState(),choosePieceState);
assertEquals(choosePieceState.getCurrentState(),selectPieceState);
//send requestMoveMessage
serverGameLogic.received(new RequestMoveMessage(pieceCyber0.getUuid()),IDCyber);
//tests if the sever is in selectPiece
assertEquals(serverGameLogic.getCurrentState(),gameState);
assertEquals(gameState.getCurrentState(), turnState);
assertEquals(turnState.getCurrentState(),choosePieceState);
assertEquals(choosePieceState.getCurrentState(),selectPieceState);
//tests if the cyberPiece0 is still at its idx
assertTrue(game.getBoard().getInfield()[10].isOccupied());
assertEquals(game.getBoard().getInfield()[10].getOccupant(),pieceHost0);
//sets the dice to 2
game.setDie(die2);
//send the requestMove-Message
serverGameLogic.received(new RequestMoveMessage(pieceCyber1.getUuid()),IDCyber);
//tests if the pieceCyber
assertTrue(game.getBoard().getInfield()[14].isOccupied());
assertEquals(game.getBoard().getInfield()[14].getOccupant(),pieceHost1);
} }
/** /**