From ba9a60a58a2169bc8f9457ab96155b8c1a1b4d28 Mon Sep 17 00:00:00 2001 From: Benjamin Feyer Date: Mon, 2 Dec 2024 23:10:21 +0100 Subject: [PATCH] added one more test and added some logic to the moveTest to test unwanted statechanges --- .../src/test/java/pp/mdga/game/PieceTest.java | 56 ++++++++++++++++++- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/game/PieceTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/game/PieceTest.java index 2263953f..9bb869df 100644 --- a/Projekte/mdga/model/src/test/java/pp/mdga/game/PieceTest.java +++ b/Projekte/mdga/model/src/test/java/pp/mdga/game/PieceTest.java @@ -199,7 +199,6 @@ public void disconnectClient(int id) { //game.getBoard().setPieceOnBoard(); //todo //set the host-pieces here - game.getBoard().setPieceOnBoard(28, pieceHost0); //for UC 02,14 ,15, 03.01,4 game.getBoard().setPieceOnBoard(18, pieceHost1); //for UC 1, 10, 17, 16 game.getBoard().getPlayerData().get(hostColor).addWaitingPiece(pieceClient2); //set in waitingArea fur uc 5 @@ -264,6 +263,23 @@ public void testMove() { //sends the request-die-message serverGameLogic.received(new RequestDieMessage(),IDHost); + //tests if the server is in selectPieceState + assertTrue(game.getBoard().getInfield()[12].isOccupied()); + assertEquals(serverGameLogic.getCurrentState(),gameState); + assertEquals(gameState.getCurrentState(), turnState); + assertEquals(turnState.getCurrentState(),choosePieceState); + assertEquals(choosePieceState.getCurrentState(),selectPieceState); + + //send wrong message + serverGameLogic.received(new RequestMoveMessage(pieceCyber1.getUuid()),IDHost); + + //tests if there is no change + assertTrue(game.getBoard().getInfield()[12].isOccupied()); + assertEquals(serverGameLogic.getCurrentState(),gameState); + assertEquals(gameState.getCurrentState(), turnState); + assertEquals(turnState.getCurrentState(),choosePieceState); + assertEquals(choosePieceState.getCurrentState(),selectPieceState); + //sends the move-message serverGameLogic.received(new RequestMoveMessage(pieceHost2.getUuid()),IDHost); @@ -513,7 +529,43 @@ public void testMustLeaveStartingField() { */ @Test public void testDontHaveToLeaveStartingField() { - // TODO: Implement test logic for when a piece doesn't have to 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); + + //set the active player to cyberPlayer + game.setActiveColor(cyberColor); + + //remove piece from cyberPlayer + game.getBoard().getPlayerData().get(cyberColor).removePieceFromWaitingArea(); + + //set dice to 3 + game.setDie(die3); + + //tests if the server is in selectPieceState + assertEquals(serverGameLogic.getCurrentState(),gameState); + assertEquals(gameState.getCurrentState(), turnState); + assertEquals(turnState.getCurrentState(),choosePieceState); + assertEquals(choosePieceState.getCurrentState(),selectPieceState); + + //send requestDice-Message + serverGameLogic.received(new RequestDieMessage(),IDCyber); + + //send requestMoveMessage for CyberPiece1 + serverGameLogic.received(new RequestMoveMessage(pieceCyber1.getUuid()),IDCyber); + + //tests if the cyberPiece1 is moved + assertTrue(game.getBoard().getInfield()[15].isOccupied()); + assertEquals(game.getBoard().getInfield()[15].getOccupant(), pieceCyber1); + } /**