Merge remote-tracking branch 'origin/development2' into development2

This commit is contained in:
Hanno Fleischer
2024-12-12 00:21:13 +01:00
2 changed files with 49 additions and 31 deletions

View File

@@ -118,14 +118,19 @@ public void setIsDied(boolean isDied) {
}
/**
* sets the movabelPieces
* sets the moveablePieces
*
* @param moveablePieces
* @param moveablePieces List that should be set
*/
public void setMoveablePieces(List<Piece> moveablePieces) {
this.moveablePieces = moveablePieces;
}
/**
* adds a piece to the movablePieces
*
* @param piece to be added
*/
public void addMovablePieces(Piece piece){
moveablePieces.add(piece);
}

View File

@@ -6,6 +6,9 @@
import org.junit.Test;
import pp.mdga.game.*;
import pp.mdga.game.card.PowerCard;
import pp.mdga.game.card.ShieldCard;
import pp.mdga.game.card.SwapCard;
import pp.mdga.game.card.TurboCard;
import pp.mdga.message.client.*;
import pp.mdga.message.server.ServerMessage;
import pp.mdga.server.ServerGameLogic;
@@ -73,6 +76,11 @@ public class ServerStateTest {
private PieceState pieceState;
private int IDPiece;
private Piece hostPiece1;
private Piece hostPiece2;
private Piece hostPiece3;
private Piece hostPiece4;
//declare 3 pieces in home from client
private Piece pieceHome1;
private int IDPiece1;
@@ -80,6 +88,7 @@ public class ServerStateTest {
private int IDPiece2;
private Piece pieceHome3;
private int IDPiece3;
private Piece pieceClient4;
//todo declare a card for client
private PowerCard bonusCardClient;
@@ -115,20 +124,41 @@ public void setUp() {
game = new Game();
//initialize two players
playerHost = new Player("Host");
playerHost.addHandCard(new ShieldCard());
playerHost.addHandCard(new SwapCard());
playerHost.addHandCard(new TurboCard());
playerHost.initialize();
IDPlayerHost = 1;
playerHostColor = Color.CYBER;
playerHost.setColor(playerHostColor);
game.addPlayer(IDPlayerHost, playerHost);
hostPiece1 = playerHost.getWaitingArea()[0];
hostPiece2 = playerHost.getWaitingArea()[1];
hostPiece3 = playerHost.getWaitingArea()[2];
hostPiece4 = playerHost.getWaitingArea()[3];
game.getBoard().setPieceOnBoard(15,hostPiece1);
hostPiece1.setState(PieceState.ACTIVE);
game.getBoard().setPieceOnBoard(35,hostPiece2);
hostPiece2.setState(PieceState.ACTIVE);
playerClient = new Player("Client");
playerClient.addHandCard(new ShieldCard());
playerClient.addHandCard(new SwapCard());
playerClient.addHandCard(new TurboCard());
playerClient.initialize();
IDPlayerClient = 2;
playerClientColor = Color.ARMY;
playerClient.setColor(playerClientColor);
playerClient.addHandCard(bonusCardClient);
game.addPlayer(IDPlayerClient, playerClient); //TODO random uuid
game.addPlayer(IDPlayerClient, playerClient);
pieceClient4 = playerHost.getWaitingArea()[3];
game.getBoard().setPieceOnBoard(22,pieceClient4);
pieceClient4.setState(PieceState.ACTIVE);
serverGameLogic = new ServerGameLogic(new ServerSender() {
@Override
@@ -165,9 +195,9 @@ public void shutdown() {
IDPiece1 = 4;
IDPiece2 = 5;
IDPiece3 = 6;
pieceHome1 = new Piece(playerClientColor, PieceState.HOMEFINISHED);
pieceHome2 = new Piece(playerClientColor, PieceState.HOMEFINISHED);
pieceHome3 = new Piece(playerClientColor, PieceState.HOMEFINISHED);
pieceHome1 = playerHost.getWaitingArea()[0];
pieceHome2 = playerHost.getWaitingArea()[1];
pieceHome3 = playerHost.getWaitingArea()[2];
game.getPlayerByColor(playerClientColor).setPieceInHome(1, pieceHome1);
game.getPlayerByColor(playerClientColor).setPieceInHome(2, pieceHome2);
game.getPlayerByColor(playerClientColor).setPieceInHome(3, pieceHome3);
@@ -257,7 +287,6 @@ public void testLobbyToDetermineStartPlayer() {
serverGameLogic.received(disconnected, IDPlayerClient);
serverGameLogic.received(forceContinueGame, IDPlayerClient);
serverGameLogic.received(joinServer, IDPlayerClient);
//serverGameLogic.received(leaveGame, IDPlayerClient);
serverGameLogic.received(lobbyNotReady, IDPlayerClient);
serverGameLogic.received(lobbyReady, IDPlayerClient);
serverGameLogic.received(noPowerCard, IDPlayerClient);
@@ -267,21 +296,16 @@ public void testLobbyToDetermineStartPlayer() {
serverGameLogic.received(requestPlayCard, IDPlayerClient);
serverGameLogic.received(selectCard, IDPlayerClient);
serverGameLogic.received(selectedPieces, IDPlayerClient);
serverGameLogic.received(selectTSK, IDPlayerClient);
//serverGameLogic.received(startGame, IDPlayerClient);
//tests if the server is still in the lobby-state
assertEquals(serverGameLogic.getLobbyState(), lobbyState);
//sets both players ready todo
//game.setAllReady(false);
serverGameLogic.received(new LobbyReadyMessage(), IDPlayerClient);
serverGameLogic.received(new LobbyReadyMessage(), IDPlayerHost);
//tests if the server is still in the lobby-state
assertEquals(serverGameLogic.getLobbyState(), lobbyState);
//sets both players ready todo
//game.setAllReady(true);
//sends the startGame-message IDPlayerClient the Host to the server
serverGameLogic.received(startGame, IDPlayerHost);
@@ -302,10 +326,8 @@ public void testStayInLobby() {
//serverGameLogic gets all messages, which don't indicate a state change
serverGameLogic.received(animationEnd, IDPlayerClient);
serverGameLogic.received(deselectTSK, IDPlayerClient);
//serverGameLogic.received(disconnected, IDPlayerClient);
serverGameLogic.received(forceContinueGame, IDPlayerClient);
serverGameLogic.received(joinServer, IDPlayerClient);
//serverGameLogic.received(leaveGame, IDPlayerClient);
serverGameLogic.received(lobbyNotReady, IDPlayerClient);
serverGameLogic.received(lobbyReady, IDPlayerClient);
serverGameLogic.received(noPowerCard, IDPlayerClient);
@@ -315,8 +337,6 @@ public void testStayInLobby() {
serverGameLogic.received(requestPlayCard, IDPlayerClient);
serverGameLogic.received(selectCard, IDPlayerClient);
serverGameLogic.received(selectedPieces, IDPlayerClient);
serverGameLogic.received(selectTSK, IDPlayerClient);
//serverGameLogic.received(startGame, IDPlayerClient);
//tests if Server is still in Lobby
assertEquals(serverGameLogic.getCurrentState(), lobbyState);
@@ -366,7 +386,6 @@ public void testInterruptToGameContinue() {
serverGameLogic.received(animationEnd, IDPlayerClient);
serverGameLogic.received(deselectTSK, IDPlayerClient);
serverGameLogic.received(disconnected, IDPlayerClient);
//serverGameLogic.received(forceContinueGame, IDPlayerClient);
serverGameLogic.received(joinServer, IDPlayerClient);
serverGameLogic.received(leaveGame, IDPlayerClient);
serverGameLogic.received(lobbyNotReady, IDPlayerClient);
@@ -426,12 +445,6 @@ public void testInterruptToGameTimer() {
*/
@Test
public void testCeremonyToServerStateEndState() {
//sends the server in ceremony
serverGameLogic.setCurrentState(ceremonyState);
assertEquals(serverGameLogic.getCurrentState(), ceremonyState);
//tests if the server is closed
// TODO how????
}
/**
@@ -533,7 +546,9 @@ public void testDetermineStartPlayerToAnimation() {
game.setDie(new Die(5));
//sends the two requestDiceMessages
serverGameLogic.received(requestDie, IDPlayerClient);
serverGameLogic.received(requestDie, IDPlayerHost);
serverGameLogic.received(new AnimationEndMessage(),IDPlayerClient);
serverGameLogic.received(new AnimationEndMessage(), IDPlayerHost);
//tests if the Server is in animationState
assertEquals(serverGameLogic.getCurrentState(), gameState);
@@ -561,6 +576,7 @@ public void testAnimationToPowerCard() {
//receives another animation endMessage
serverGameLogic.received(animationEnd, IDPlayerClient);
serverGameLogic.received(animationEnd, IDPlayerHost);
//tests if the server is in the PowerCard-state
assertEquals(serverGameLogic.getCurrentState(), gameState);
@@ -643,22 +659,18 @@ public void testStayInPowerCard() {
turnState.setCurrentState(powerCardState);
assertEquals(turnState.getCurrentState(), powerCardState);
//receive messages which don't lead to a state change todo
//receive messages which don't lead to a state change
serverGameLogic.received(animationEnd, IDPlayerClient);
serverGameLogic.received(deselectTSK, IDPlayerClient);
//serverGameLogic.received(disconnected, IDPlayerClient);
serverGameLogic.received(forceContinueGame, IDPlayerClient);
serverGameLogic.received(joinServer, IDPlayerClient);
serverGameLogic.received(leaveGame, IDPlayerClient);
serverGameLogic.received(lobbyNotReady, IDPlayerClient);
serverGameLogic.received(lobbyReady, IDPlayerClient);
serverGameLogic.received(noPowerCard, IDPlayerClient);
serverGameLogic.received(requestBriefing, IDPlayerClient);
serverGameLogic.received(requestDie, IDPlayerClient);
serverGameLogic.received(requestMove, IDPlayerClient);
serverGameLogic.received(requestPlayCard, IDPlayerClient);
serverGameLogic.received(selectCard, IDPlayerClient);
//serverGameLogic.received(selectedPieces, IDPlayerClient);
serverGameLogic.received(selectTSK, IDPlayerClient);
serverGameLogic.received(startGame, IDPlayerClient);
@@ -721,6 +733,7 @@ public void testPlayPowerCardToRollDice() {
//receive second AnimationEndMessage
serverGameLogic.received(animationEnd, IDPlayerClient);
serverGameLogic.received(animationEnd, IDPlayerHost);
//tests if the server is in RollDice and in FirstRoll
assertEquals(serverGameLogic.getCurrentState(), gameState);