| 
						
					 | 
					 | 
					@@ -3,7 +3,9 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.junit.Before;
 | 
					 | 
					 | 
					 | 
					import org.junit.Before;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.junit.Test;
 | 
					 | 
					 | 
					 | 
					import org.junit.Test;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import pp.mdga.game.card.PowerCard;
 | 
					 | 
					 | 
					 | 
					import pp.mdga.game.card.PowerCard;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import pp.mdga.game.card.ShieldCard;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import pp.mdga.game.card.SwapCard;
 | 
					 | 
					 | 
					 | 
					import pp.mdga.game.card.SwapCard;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import pp.mdga.game.card.TurboCard;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import pp.mdga.message.client.AnimationEndMessage;
 | 
					 | 
					 | 
					 | 
					import pp.mdga.message.client.AnimationEndMessage;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import pp.mdga.message.client.RequestDieMessage;
 | 
					 | 
					 | 
					 | 
					import pp.mdga.message.client.RequestDieMessage;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import pp.mdga.message.client.RequestMoveMessage;
 | 
					 | 
					 | 
					 | 
					import pp.mdga.message.client.RequestMoveMessage;
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -270,7 +272,7 @@ public void shutdown() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * Use Case UC-Piece-01: Ensure that a piece moves in the right direction
 | 
					 | 
					 | 
					 | 
					     * Use Case UC-Piece-01: Ensure that a piece moves in the right direction
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * </p>
 | 
					 | 
					 | 
					 | 
					     * </p>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test (expected = RuntimeException.class)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testMove() {
 | 
					 | 
					 | 
					 | 
					    public void testMove() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the active Player to host
 | 
					 | 
					 | 
					 | 
					        //sets the active Player to host
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -382,6 +384,7 @@ public void testThrow() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set active player to host
 | 
					 | 
					 | 
					 | 
					        //set active player to host
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        playerHost.setStartNodeIndex(10);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -400,18 +403,19 @@ public void testThrow() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestDice
 | 
					 | 
					 | 
					 | 
					        //send requestDice
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestMove-message
 | 
					 | 
					 | 
					 | 
					        //send requestMove-message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the idx is unoccupied
 | 
					 | 
					 | 
					 | 
					        //tests if the idx is unoccupied
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertFalse(game.getBoard().getInfield()[19].isOccupied());
 | 
					 | 
					 | 
					 | 
					        assertFalse(game.getBoard().getInfield()[18].isOccupied());
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the idx 20 is occupied
 | 
					 | 
					 | 
					 | 
					        //tests if the idx 20 is occupied
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[20].isOccupied());
 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[19].isOccupied());
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the piece on idx 20 is pieceHost1
 | 
					 | 
					 | 
					 | 
					        //tests if the piece on idx 20 is pieceHost1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[20].getOccupant(),pieceHost1);
 | 
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[19].getOccupant(),pieceHost1);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /**
 | 
					 | 
					 | 
					 | 
					    /**
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -442,6 +446,7 @@ public void testGetThrown() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestDice
 | 
					 | 
					 | 
					 | 
					        //send requestDice
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestMove-message
 | 
					 | 
					 | 
					 | 
					        //send requestMove-message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -462,6 +467,7 @@ public void testLeaveWaitingArea() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set active player to host
 | 
					 | 
					 | 
					 | 
					        //set active player to host
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        playerHost.setStartNodeIndex(20);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -480,11 +486,13 @@ public void testLeaveWaitingArea() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestDice
 | 
					 | 
					 | 
					 | 
					        //send requestDice
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the sever is in selectPiece
 | 
					 | 
					 | 
					 | 
					        //tests if the sever is in selectPiece
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        waitingPieceState.setPiece(pieceHost2);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),waitingPieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),waitingPieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestMove-message
 | 
					 | 
					 | 
					 | 
					        //send requestMove-message
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -492,10 +500,9 @@ public void testLeaveWaitingArea() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the waitingArea does not include the piece anymore
 | 
					 | 
					 | 
					 | 
					        //tests if the waitingArea does not include the piece anymore
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertFalse(Arrays.stream(game.getPlayerByColor(hostColor).getWaitingArea()).toList().contains(pieceHost2));
 | 
					 | 
					 | 
					 | 
					        assertFalse(Arrays.stream(game.getPlayerByColor(hostColor).getWaitingArea()).toList().contains(pieceHost2));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the pieceHost3 is at idx 30
 | 
					 | 
					 | 
					 | 
					        //tests if the pieceHost3 is at idx 30
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[30].isOccupied());
 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[20].isOccupied());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[30].getOccupant(),pieceHost2);
 | 
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[20].getOccupant(),pieceHost2);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /**
 | 
					 | 
					 | 
					 | 
					    /**
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -527,6 +534,7 @@ public void testMustLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestDiceMessage
 | 
					 | 
					 | 
					 | 
					        //send requestDiceMessage
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDCyber);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDCyber);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceCyber0));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the sever is in startPiece
 | 
					 | 
					 | 
					 | 
					        //tests if the sever is in startPiece
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -535,25 +543,12 @@ public void testMustLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),startPieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),startPieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestMoveMessage
 | 
					 | 
					 | 
					 | 
					        //send requestMoveMessage
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDCyber);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceCyber0),IDCyber);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the cyberPiece2 has moved
 | 
					 | 
					 | 
					 | 
					        //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),IDCyber);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the piece is moved
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[14].isOccupied());
 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[14].isOccupied());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[14].getOccupant(),pieceHost0);
 | 
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[14].getOccupant(),pieceCyber0);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertFalse(game.getBoard().getInfield()[10].isOccupied());
 | 
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceCyber0));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /**
 | 
					 | 
					 | 
					 | 
					    /**
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -564,6 +559,9 @@ public void testMustLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testDontHaveToLeaveStartingField() {
 | 
					 | 
					 | 
					 | 
					    public void testDontHaveToLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //set the active player to cyberPlayer
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(cyberColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -576,9 +574,6 @@ public void testDontHaveToLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set the active player to cyberPlayer
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(cyberColor);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //remove piece from cyberPlayer
 | 
					 | 
					 | 
					 | 
					        //remove piece from cyberPlayer
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.getPlayerByColor(cyberColor).removeWaitingPiece(game.getPlayerByColor(cyberColor).getWaitingPiece());
 | 
					 | 
					 | 
					 | 
					        game.getPlayerByColor(cyberColor).removeWaitingPiece(game.getPlayerByColor(cyberColor).getWaitingPiece());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -588,11 +583,12 @@ public void testDontHaveToLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the server is in selectPieceState
 | 
					 | 
					 | 
					 | 
					        //tests if the server is in selectPieceState
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),selectPieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestDice-Message
 | 
					 | 
					 | 
					 | 
					        //send requestDice-Message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDCyber);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestMoveMessage for CyberPiece1
 | 
					 | 
					 | 
					 | 
					        //send requestMoveMessage for CyberPiece1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceCyber1),IDCyber);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceCyber1),IDCyber);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -609,8 +605,11 @@ public void testDontHaveToLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * Use Case UC-Piece-08: Verify conditions preventing a piece from leaving its starting field.
 | 
					 | 
					 | 
					 | 
					     * Use Case UC-Piece-08: Verify conditions preventing a piece from leaving its starting field.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * </p>
 | 
					 | 
					 | 
					 | 
					     * </p>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test (expected = RuntimeException.class)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testCantLeaveStartingField() {
 | 
					 | 
					 | 
					 | 
					    public void testCantLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //sets the activePlayer to cyber
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(cyberColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -623,20 +622,19 @@ public void testCantLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the activePlayer to cyber
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(cyberColor);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set Dice to two
 | 
					 | 
					 | 
					 | 
					        //set Dice to two
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setDie(die2);
 | 
					 | 
					 | 
					 | 
					        game.setDie(die2);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestDiceMessage
 | 
					 | 
					 | 
					 | 
					        //send requestDiceMessage
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDCyber);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the sever is in selectPiece
 | 
					 | 
					 | 
					 | 
					        //tests if the sever is in selectPiece
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),selectPieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),selectPieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //selectPieceState.setMoveablePieces(new ArrayList<>(List.of(pieceCyber0)));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestMoveMessage
 | 
					 | 
					 | 
					 | 
					        //send requestMoveMessage
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceCyber0),IDCyber);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceCyber0),IDCyber);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -670,7 +668,6 @@ public void testCantLeaveStartingField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testReachBonusField() {
 | 
					 | 
					 | 
					 | 
					    public void testReachBonusField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the active Player to Host
 | 
					 | 
					 | 
					 | 
					        //sets the active Player to Host
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -694,6 +691,7 @@ public void testReachBonusField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestDice-Message
 | 
					 | 
					 | 
					 | 
					        //sends the requestDice-Message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //requestMove of hostPiece3
 | 
					 | 
					 | 
					 | 
					        //requestMove of hostPiece3
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost3),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost3),IDHost);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -715,6 +713,9 @@ public void testReachBonusField() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testNoPowerCards() {
 | 
					 | 
					 | 
					 | 
					    public void testNoPowerCards() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //sets the active Player to Host
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -727,9 +728,6 @@ public void testNoPowerCards() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the active Player to Host
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the dice-seed to 4
 | 
					 | 
					 | 
					 | 
					        //sets the dice-seed to 4
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setDie(die4);
 | 
					 | 
					 | 
					 | 
					        game.setDie(die4);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -742,7 +740,8 @@ public void testNoPowerCards() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertTrue(game.getDiscardPile().isEmpty());
 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getDiscardPile().isEmpty());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestDice-Message
 | 
					 | 
					 | 
					 | 
					        //sends the requestDice-Message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // requestMOve of hostPiece3
 | 
					 | 
					 | 
					 | 
					        // requestMOve of hostPiece3
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost3),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost3),IDHost);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -781,10 +780,9 @@ public void testShufflePile() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the dice-seed to 4
 | 
					 | 
					 | 
					 | 
					        //sets the dice-seed to 4
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setDie(die4);
 | 
					 | 
					 | 
					 | 
					        game.setDie(die4);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        firstRollState.setIsDied(true);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the discard pile empty
 | 
					 | 
					 | 
					 | 
					        //sets the discard pile empty
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setDiscardPile(game.getDrawPile());
 | 
					 | 
					 | 
					 | 
					        game.setDiscardPile(new ArrayList<>(List.of(new TurboCard(),new TurboCard())));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertFalse(game.getDiscardPile().isEmpty());
 | 
					 | 
					 | 
					 | 
					        assertFalse(game.getDiscardPile().isEmpty());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the pile empty
 | 
					 | 
					 | 
					 | 
					        //sets the pile empty
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -792,16 +790,19 @@ public void testShufflePile() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertTrue(game.getDrawPile().isEmpty());
 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getDrawPile().isEmpty());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestDice-Message
 | 
					 | 
					 | 
					 | 
					        //sends the requestDice-Message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // requestMOve of hostPiece3
 | 
					 | 
					 | 
					 | 
					        // requestMOve of hostPiece3
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost3),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost3),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[4].isOccupied());
 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[4].isOccupied());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[4].getOccupant(),pieceHost3);
 | 
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[4].getOccupant(),pieceHost3);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfield()[4].isBonus());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the player has received a bonusCard
 | 
					 | 
					 | 
					 | 
					        //tests if the player has received a bonusCard
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertFalse(game.getDrawPile().isEmpty());
 | 
					 | 
					 | 
					 | 
					        assertFalse(game.getDrawPile().isEmpty());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getDiscardPile().isEmpty());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the drawPile is not Empty
 | 
					 | 
					 | 
					 | 
					        //tests if the drawPile is not Empty
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertFalse(game.getDrawPile().isEmpty());
 | 
					 | 
					 | 
					 | 
					        assertFalse(game.getDrawPile().isEmpty());
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -817,7 +818,8 @@ public void testShufflePile() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testEnterHouse() {
 | 
					 | 
					 | 
					 | 
					    public void testEnterHouse() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        pieceClient2.setState(PieceState.ACTIVE);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        playerClient.setStartNodeIndex(20);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set activePlayer to client
 | 
					 | 
					 | 
					 | 
					        //set activePlayer to client
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(clientColor);
 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(clientColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -838,11 +840,16 @@ public void testEnterHouse() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the request-Dice-message
 | 
					 | 
					 | 
					 | 
					        //sends the request-Dice-message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDClient);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //tests if the server is in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),selectPieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestMove-message for pieceClient1
 | 
					 | 
					 | 
					 | 
					        //sends the requestMove-message for pieceClient1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceClient2));
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceClient2),IDClient);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceClient2),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceClient2));
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests, if the piece is in the first slot of the home
 | 
					 | 
					 | 
					 | 
					        //tests, if the piece is in the first slot of the home
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertFalse(game.getBoard().getInfield()[19].isOccupied());
 | 
					 | 
					 | 
					 | 
					        assertFalse(game.getBoard().getInfield()[19].isOccupied());
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -860,12 +867,16 @@ public void testEnterHouse() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testOnlyEnterOwnHouse() {
 | 
					 | 
					 | 
					 | 
					    public void testOnlyEnterOwnHouse() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set activePlayer to host
 | 
					 | 
					 | 
					 | 
					        //set activePlayer to host
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        System.out.println(playerHost.getStartNodeIndex());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.getBoard().setPieceOnBoard(28,pieceHost1);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.getBoard().getInfield()[18].clearOccupant();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
					 | 
					 | 
					 | 
					        //sends the server in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
					 | 
					 | 
					 | 
					        gameState.setCurrentState(turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        turnState.setCurrentState(rollDiceState);
 | 
					 | 
					 | 
					 | 
					        turnState.setCurrentState(rollDiceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        rollDiceState.setCurrentState(firstRollState);
 | 
					 | 
					 | 
					 | 
					        rollDiceState.setCurrentState(firstRollState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceHost1));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the server is in firstRoll
 | 
					 | 
					 | 
					 | 
					        //tests if the server is in firstRoll
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -875,17 +886,19 @@ public void testOnlyEnterOwnHouse() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set the die in Game to 3
 | 
					 | 
					 | 
					 | 
					        //set the die in Game to 3
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setDie(die3);
 | 
					 | 
					 | 
					 | 
					        game.setDie(die3);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceHost1));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the request-Dice-message
 | 
					 | 
					 | 
					 | 
					        //sends the request-Dice-message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestMove-message for pieceClient1
 | 
					 | 
					 | 
					 | 
					        //sends the requestMove-message for pieceClient1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceHost1));
 | 
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceHost1));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceHost1),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        System.out.println(game.getBoard().getInfieldIndexOfPiece(pieceHost1));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if hostPiece1 is at idx 20 TODO false positive
 | 
					 | 
					 | 
					 | 
					        //tests if hostPiece1 is at idx 20 TODO false positive
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[19].isOccupied());
 | 
					 | 
					 | 
					 | 
					        assertTrue(game.getBoard().getInfield()[31].isOccupied());
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[20].getOccupant(),pieceHost1);
 | 
					 | 
					 | 
					 | 
					        assertEquals(game.getBoard().getInfield()[31].getOccupant(),pieceHost1);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /**
 | 
					 | 
					 | 
					 | 
					    /**
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1174,24 +1187,36 @@ public void testUseSwap() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testUseShield() {
 | 
					 | 
					 | 
					 | 
					    public void testUseShield() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //set activePlayer to Host
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        PowerCard shield = new ShieldCard();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        playerHost.addHandCard(shield);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send the server in choosePowerCard
 | 
					 | 
					 | 
					 | 
					        //send the server in choosePowerCard
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().setCurrentState(turnState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().setCurrentState(turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().getTurnState().setCurrentState(powerCardState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().getTurnState().setCurrentState(powerCardState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        powerCardState.setCurrentState(powerCardState.getChoosePowerCardState());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the server is in selectPieces
 | 
					 | 
					 | 
					 | 
					        //tests if the server is in selectPieces
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),powerCardState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),powerCardState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(powerCardState.getCurrentState(),powerCardState.getChoosePowerCardState());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set activePlayer to Host
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(hostColor);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestPlayCard
 | 
					 | 
					 | 
					 | 
					        //sends the requestPlayCard
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new SelectCardMessage(shieldCard),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new SelectCardMessage(shield),IDHost);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        powerCardState.setSelectedCard(shield);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //tests if the server is in selectPieces
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),powerCardState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        assertEquals(powerCardState.getCurrentState(),powerCardState.getShieldCardState());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the selectedPiece-message
 | 
					 | 
					 | 
					 | 
					        //sends the selectedPiece-message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(RequestPlayCardMessage.requestPlayShield(pieceHost0.getUuid()),IDHost);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new SelectedPiecesMessage(new ArrayList<>(List.of(pieceHost0))),IDHost);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the piece at idx 28 has a shield
 | 
					 | 
					 | 
					 | 
					        //tests if the piece at idx 28 has a shield
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(pieceHost0.getShield(),ShieldState.ACTIVE);
 | 
					 | 
					 | 
					 | 
					        assertEquals(pieceHost0.getShield(),ShieldState.ACTIVE);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1213,6 +1238,7 @@ public void testLoseShield() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets activePlayer to client
 | 
					 | 
					 | 
					 | 
					        //sets activePlayer to client
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(clientColor);
 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(clientColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.removePlayer(IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set shieldState.ACTIVE im pieceHost1
 | 
					 | 
					 | 
					 | 
					        //set shieldState.ACTIVE im pieceHost1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        pieceHost1.setShield(ShieldState.ACTIVE);
 | 
					 | 
					 | 
					 | 
					        pieceHost1.setShield(ShieldState.ACTIVE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1222,24 +1248,28 @@ public void testLoseShield() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in selectPiece
 | 
					 | 
					 | 
					 | 
					        //sends the server in selectPiece
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().setCurrentState(turnState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().setCurrentState(turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().getTurnState().setCurrentState(choosePieceState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().getTurnState().setCurrentState(rollDiceState);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().getTurnState().getChoosePieceState().setCurrentState(selectPieceState);
 | 
					 | 
					 | 
					 | 
					        rollDiceState.setCurrentState(firstRollState);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the server is in selectPieces
 | 
					 | 
					 | 
					 | 
					        //tests if the server is in selectPieces
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), turnState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),rollDiceState);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),selectPieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(rollDiceState.getCurrentState(),firstRollState);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestDice-message
 | 
					 | 
					 | 
					 | 
					        //send requestDice-message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDClient);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send requestMove-message for clientPiece0
 | 
					 | 
					 | 
					 | 
					        //send requestMove-message for clientPiece0
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceClient0),IDClient);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceClient0),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDHost);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDCyber);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //tests if the server is in animation-state
 | 
					 | 
					 | 
					 | 
					        //tests if the server is in turn-state
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(serverGameLogic.getCurrentState(),gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), gameState.getAnimationState());
 | 
					 | 
					 | 
					 | 
					        assertEquals(gameState.getCurrentState(), gameState.getTurnState());
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //send 3 animationEndMessage
 | 
					 | 
					 | 
					 | 
					        //send 3 animationEndMessage
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDClient);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDClient);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1261,6 +1291,9 @@ public void testLoseShield() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					     */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Test
 | 
					 | 
					 | 
					 | 
					    @Test
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void testFinishedPiece() {
 | 
					 | 
					 | 
					 | 
					    public void testFinishedPiece() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //sets the active color to client
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        game.setActiveColor(clientColor);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the server in selectPiece
 | 
					 | 
					 | 
					 | 
					        //sends the server in selectPiece
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.setCurrentState(gameState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().setCurrentState(turnState);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.getGameState().setCurrentState(turnState);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -1273,13 +1306,11 @@ public void testFinishedPiece() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(turnState.getCurrentState(),choosePieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),selectPieceState);
 | 
					 | 
					 | 
					 | 
					        assertEquals(choosePieceState.getCurrentState(),selectPieceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sets the active color to client
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setActiveColor(clientColor);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //set the dice to 2
 | 
					 | 
					 | 
					 | 
					        //set the dice to 2
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        game.setDie(die2);
 | 
					 | 
					 | 
					 | 
					        game.setDie(die2);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestDie-Message
 | 
					 | 
					 | 
					 | 
					        //sends the requestDie-Message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDClient);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestDieMessage(),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDClient);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //sends the requestMove-Message
 | 
					 | 
					 | 
					 | 
					        //sends the requestMove-Message
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceClient1),IDClient);
 | 
					 | 
					 | 
					 | 
					        serverGameLogic.received(new RequestMoveMessage(pieceClient1),IDClient);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					 
 |