added the game-test8 t010

This commit is contained in:
Benjamin Feyer
2024-12-13 04:20:18 +01:00
parent 379e4bcec1
commit f93da332b3

View File

@@ -6,7 +6,11 @@
import pp.mdga.game.card.ShieldCard;
import pp.mdga.game.card.SwapCard;
import pp.mdga.game.card.TurboCard;
import pp.mdga.message.client.AnimationEndMessage;
import pp.mdga.message.client.LobbyReadyMessage;
import pp.mdga.message.client.NoPowerCardMessage;
import pp.mdga.message.client.RequestDieMessage;
import pp.mdga.message.client.RequestMoveMessage;
import pp.mdga.message.client.SelectTSKMessage;
import pp.mdga.message.client.StartGameMessage;
import pp.mdga.message.server.PlayCardMessage;
@@ -211,7 +215,66 @@ public void testDouble() {
// UC-Game-08
@Test
public void testChangeActivePlayer() {
// TODO: Implement test logic for changing the active player
//tests if both player have no color and are not ready
assertFalse(playerClient.isReady());
assertFalse(playerHost.isReady());
assertEquals(playerClient.getColor(), Color.NONE);
assertEquals(playerHost.getColor(), Color.NONE);
//send the selectTSK-message
logic.received(new SelectTSKMessage(Color.CYBER), IDClient);
logic.received(new SelectTSKMessage(Color.ARMY), IDHost);
//sends and tests the readyMessage for the client
logic.received(new LobbyReadyMessage(), IDClient);
logic.received(new LobbyReadyMessage(), IDHost);
assertTrue(playerClient.isReady());
assertTrue(playerHost.isReady());
//tests if the game has started after the determineStartPlayerState
logic.received(new StartGameMessage(), IDHost);
assertEquals(logic.getCurrentState(), logic.getGameState());
assertEquals(logic.getGameState().getCurrentState(),logic.getGameState().getDetermineStartPlayerState());
//roll the order
game.setDie(new Die(4));
logic.received(new RequestDieMessage(),IDHost);
game.setDie(new Die(3));
logic.received(new RequestDieMessage(),IDClient);
logic.received(new AnimationEndMessage(),IDClient);
logic.received(new AnimationEndMessage(),IDHost);
//tests that the server is in the animation-state
assertEquals(logic.getCurrentState(), logic.getGameState());
assertEquals(logic.getGameState().getCurrentState(),logic.getGameState().getAnimationState());
logic.received(new AnimationEndMessage(),IDClient);
logic.received(new AnimationEndMessage(),IDHost);
assertEquals(logic.getCurrentState(), logic.getGameState());
assertEquals(logic.getGameState().getCurrentState(),logic.getGameState().getTurnState());
//tests if the host is the active player
assertEquals(game.getActiveColor(),playerHost.getColor());
//hosts plays no power-card
logic.received(new NoPowerCardMessage(),IDHost);
//simulates a roll and the move of a piece for the host
logic.received(new RequestDieMessage(),IDHost);
logic.received(new AnimationEndMessage(),IDHost);
logic.received(new RequestMoveMessage(game.getBoard().getInfield()[playerHost.getStartNodeIndex()].getOccupant()),IDHost);
//tests if the server is in movePiece
assertEquals(logic.getGameState().getCurrentState(),logic.getGameState().getTurnState());
assertEquals(logic.getGameState().getTurnState().getCurrentState(),logic.getGameState().getTurnState().getMovePieceState());
//sends the animationEndMessages
logic.received(new AnimationEndMessage(),IDClient);
logic.received(new AnimationEndMessage(),IDHost);
//tests if there is a new active Player
assertEquals(game.getActiveColor(),playerClient.getColor());
}