More work on java tests.
This commit is contained in:
@@ -60,8 +60,7 @@ public class CreateGameTest extends TestBase {
|
||||
}
|
||||
|
||||
msg = receiveMessage();
|
||||
if (msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_JoinGameAckMessage)
|
||||
{
|
||||
if (msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage() && msg.getLobbyMessage().getMessageType() == LobbyMessageType.Type_JoinGameAckMessage) {
|
||||
assertTrue(msg.getLobbyMessage().getJoinGameAckMessage().getGameId() != 0);
|
||||
NetGameInfo receivedGameInfo = msg.getLobbyMessage().getJoinGameAckMessage().getGameInfo();
|
||||
assertEquals(receivedGameInfo.getDelayBetweenHands(), gameInfo.getDelayBetweenHands());
|
||||
|
||||
@@ -26,9 +26,13 @@ import java.util.Collection;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.PlayerListMessage.PlayerListNotification;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||
@@ -47,7 +51,7 @@ public class RejoinGameTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
PokerTHMessage msg;
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -62,22 +66,22 @@ public class RejoinGameTest extends TestBase {
|
||||
|
||||
// Game list update (new game)
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListNewMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListNewMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
// Join game ack.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
// Game list update (player joined).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -93,8 +97,9 @@ public class RejoinGameTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasGameListNewMessage() || msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
} while ((msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()))
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -102,24 +107,24 @@ public class RejoinGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
} while (!(msg.hasLobbyMessage() && (msg.getLobbyMessage().hasJoinGameAckMessage() || msg.getLobbyMessage().hasJoinGameFailedMessage())));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
fail("User " + username + " could not join ranking game.");
|
||||
}
|
||||
|
||||
// The player should have joined the game.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGamePlayerJoinedMessage()) {
|
||||
if (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -127,7 +132,7 @@ public class RejoinGameTest extends TestBase {
|
||||
|
||||
// Server should automatically send start event.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasStartEventMessage()) {
|
||||
if (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -135,16 +140,28 @@ public class RejoinGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage()));
|
||||
}
|
||||
// Acknowledge start event.
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
for (int i = 0; i < 9; i++) {
|
||||
sendMessage(msg, s[i]);
|
||||
@@ -152,13 +169,13 @@ public class RejoinGameTest extends TestBase {
|
||||
|
||||
// Game list update (game now running).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListUpdateMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListUpdateMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameStartInitialMessage()) {
|
||||
if (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -173,7 +190,7 @@ public class RejoinGameTest extends TestBase {
|
||||
failOnErrorMessage(inMsg);
|
||||
}
|
||||
}
|
||||
} while (!msg.hasHandStartMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()));
|
||||
|
||||
// Leave the game by closing the socket.
|
||||
sock.close();
|
||||
@@ -185,9 +202,9 @@ public class RejoinGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasPlayerListMessage());
|
||||
assertEquals(firstPlayerId, msg.getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListLeft, msg.getPlayerListMessage().getPlayerListNotification());
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage()));
|
||||
assertEquals(firstPlayerId, msg.getLobbyMessage().getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListLeft, msg.getLobbyMessage().getPlayerListMessage().getPlayerListNotification());
|
||||
}
|
||||
|
||||
sock = new Socket("localhost", 7234);
|
||||
@@ -197,8 +214,9 @@ public class RejoinGameTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
} while (msg.hasGameListNewMessage() || msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
} while ((msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()))
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -207,8 +225,8 @@ public class RejoinGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
} while (!(msg.hasLobbyMessage() && (msg.getLobbyMessage().hasJoinGameAckMessage() || msg.getLobbyMessage().hasJoinGameFailedMessage())));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
fail("User " + AuthUser + " could not rejoin normal game.");
|
||||
}
|
||||
|
||||
@@ -217,63 +235,75 @@ public class RejoinGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasPlayerListMessage());
|
||||
assertEquals(firstPlayerIdAfterRejoin, msg.getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListNew, msg.getPlayerListMessage().getPlayerListNotification());
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage()));
|
||||
assertEquals(firstPlayerIdAfterRejoin, msg.getLobbyMessage().getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListNew, msg.getLobbyMessage().getPlayerListMessage().getPlayerListNotification());
|
||||
}
|
||||
|
||||
// Wait for start event.
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage()));
|
||||
|
||||
assertEquals(gameId, msg.getStartEventMessage().getGameId());
|
||||
assertEquals(StartEventType.rejoinEvent, msg.getStartEventMessage().getStartEventType());
|
||||
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||
assertEquals(StartEventType.rejoinEvent, msg.getGameMessage().getGameManagementMessage().getStartEventMessage().getStartEventType());
|
||||
|
||||
// Acknowledge start event.
|
||||
startAck = StartEventAckMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
.build();
|
||||
|
||||
gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
|
||||
game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
|
||||
// Wait for game start. This may take a while, because rejoin is performed at the beginning of the next hand.
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasGameStartRejoinMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGameStartRejoinMessage()));
|
||||
|
||||
// Check whether we got all necessary data to rejoin.
|
||||
assertEquals(gameId, msg.getGameStartRejoinMessage().getGameId());
|
||||
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||
// We left at the first hand.
|
||||
assertEquals(1, msg.getGameStartRejoinMessage().getHandNum());
|
||||
assertEquals(1, msg.getGameMessage().getGameManagementMessage().getGameStartRejoinMessage().getHandNum());
|
||||
// 10 Players should now be active again.
|
||||
assertEquals(10, msg.getGameStartRejoinMessage().getRejoinPlayerDataCount());
|
||||
assertEquals(10, msg.getGameMessage().getGameManagementMessage().getGameStartRejoinMessage().getRejoinPlayerDataCount());
|
||||
|
||||
// All other players should have received "player id changed".
|
||||
for (int i = 0; i < 9; i++) {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasPlayerIdChangedMessage());
|
||||
assertEquals(firstPlayerId, msg.getPlayerIdChangedMessage().getOldPlayerId());
|
||||
assertEquals(firstPlayerIdAfterRejoin, msg.getPlayerIdChangedMessage().getNewPlayerId());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasPlayerIdChangedMessage()));
|
||||
assertEquals(firstPlayerId, msg.getGameMessage().getGameManagementMessage().getPlayerIdChangedMessage().getOldPlayerId());
|
||||
assertEquals(firstPlayerIdAfterRejoin, msg.getGameMessage().getGameManagementMessage().getPlayerIdChangedMessage().getNewPlayerId());
|
||||
}
|
||||
|
||||
// Everyone should receive a "hand start message" now.
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasHandStartMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()));
|
||||
for (int i = 0; i < 9; i++) {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasHandStartMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()));
|
||||
}
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
|
||||
@@ -28,8 +28,12 @@ import java.util.Collection;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.PlayerListMessage.PlayerListNotification;
|
||||
@@ -53,7 +57,7 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
PokerTHMessage msg;
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -68,22 +72,22 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
|
||||
// Game list update (new game)
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListNewMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListNewMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
// Join game ack.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
// Game list update (player joined).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -101,8 +105,9 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasGameListNewMessage() || msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
} while ((msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()))
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -110,24 +115,24 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
} while (!(msg.hasLobbyMessage() && (msg.getLobbyMessage().hasJoinGameAckMessage() || msg.getLobbyMessage().hasJoinGameFailedMessage())));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
fail("User " + username + " could not join ranking game.");
|
||||
}
|
||||
|
||||
// The player should have joined the game.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGamePlayerJoinedMessage()) {
|
||||
if (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -135,7 +140,7 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
|
||||
// Server should automatically send start event.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasStartEventMessage()) {
|
||||
if (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -143,16 +148,28 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage()));
|
||||
}
|
||||
// Acknowledge start event.
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
.build();
|
||||
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
for (int i = 0; i < 9; i++) {
|
||||
sendMessage(msg, s[i]);
|
||||
@@ -160,13 +177,13 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
|
||||
// Game list update (game now running).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListUpdateMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListUpdateMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameStartInitialMessage()) {
|
||||
if (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -181,7 +198,7 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
failOnErrorMessage(inMsg);
|
||||
}
|
||||
}
|
||||
} while (!msg.hasHandStartMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()));
|
||||
|
||||
// 9 players leave the game by closing the socket.
|
||||
for (int i = 0; i < 9; i++) {
|
||||
@@ -196,9 +213,9 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasPlayerListMessage());
|
||||
assertEquals(playerId[i], msg.getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListLeft, msg.getPlayerListMessage().getPlayerListNotification());
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage()));
|
||||
assertEquals(playerId[i], msg.getLobbyMessage().getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListLeft, msg.getLobbyMessage().getPlayerListMessage().getPlayerListNotification());
|
||||
}
|
||||
|
||||
// Let all players reconnect.
|
||||
@@ -212,8 +229,9 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
} while (msg.hasGameListNewMessage() || msg.hasGameListPlayerJoinedMessage() || msg.hasGamePlayerJoinedMessage());
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
} while ((msg.hasLobbyMessage() && (msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().hasGameListPlayerJoinedMessage()))
|
||||
|| (msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage()));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -221,8 +239,8 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasJoinGameAckMessage() && !msg.hasJoinGameFailedMessage());
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
} while (!(msg.hasLobbyMessage() && (msg.getLobbyMessage().hasJoinGameAckMessage() || msg.getLobbyMessage().hasJoinGameFailedMessage())));
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasJoinGameAckMessage())) {
|
||||
fail("User " + username + " could not rejoin ranking game.");
|
||||
}
|
||||
}
|
||||
@@ -231,9 +249,9 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasPlayerListMessage());
|
||||
assertEquals(playerIdAfterRejoin[i], msg.getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListNew, msg.getPlayerListMessage().getPlayerListNotification());
|
||||
} while (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasPlayerListMessage()));
|
||||
assertEquals(playerIdAfterRejoin[i], msg.getLobbyMessage().getPlayerListMessage().getPlayerId());
|
||||
assertEquals(PlayerListNotification.playerListNew, msg.getLobbyMessage().getPlayerListMessage().getPlayerListNotification());
|
||||
}
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
@@ -241,19 +259,31 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasStartEventMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasStartEventMessage()));
|
||||
|
||||
assertEquals(gameId, msg.getStartEventMessage().getGameId());
|
||||
assertEquals(StartEventType.rejoinEvent, msg.getStartEventMessage().getStartEventType());
|
||||
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||
assertEquals(StartEventType.rejoinEvent, msg.getGameMessage().getGameManagementMessage().getStartEventMessage().getStartEventType());
|
||||
|
||||
// Acknowledge start event.
|
||||
startAck = StartEventAckMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
.build();
|
||||
|
||||
gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
|
||||
game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg, s[i]);
|
||||
}
|
||||
|
||||
@@ -262,14 +292,14 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasGameStartRejoinMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasGameStartRejoinMessage()));
|
||||
|
||||
// Check whether we got all necessary data to rejoin.
|
||||
assertEquals(gameId, msg.getGameStartRejoinMessage().getGameId());
|
||||
assertEquals(gameId, msg.getGameMessage().getGameId());
|
||||
// We left at the first hand.
|
||||
assertTrue(msg.getGameStartRejoinMessage().getHandNum() >= 1);
|
||||
assertTrue(msg.getGameMessage().getGameManagementMessage().getGameStartRejoinMessage().getHandNum() >= 1);
|
||||
// 10 Players should now be active again.
|
||||
assertEquals(10, msg.getGameStartRejoinMessage().getRejoinPlayerDataCount());
|
||||
assertEquals(10, msg.getGameMessage().getGameManagementMessage().getGameStartRejoinMessage().getRejoinPlayerDataCount());
|
||||
}
|
||||
|
||||
// The remaining player should have received 9 "player id changed".
|
||||
@@ -277,28 +307,28 @@ public class RejoinMultiGameTest extends TestBase {
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasPlayerIdChangedMessage());
|
||||
assertEquals(playerId[i], msg.getPlayerIdChangedMessage().getOldPlayerId());
|
||||
assertEquals(playerIdAfterRejoin[i], msg.getPlayerIdChangedMessage().getNewPlayerId());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasPlayerIdChangedMessage()));
|
||||
assertEquals(playerId[i], msg.getGameMessage().getGameManagementMessage().getPlayerIdChangedMessage().getOldPlayerId());
|
||||
assertEquals(playerIdAfterRejoin[i], msg.getGameMessage().getGameManagementMessage().getPlayerIdChangedMessage().getNewPlayerId());
|
||||
}
|
||||
|
||||
// Everyone should receive a "hand start message" now.
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasHandStartMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()));
|
||||
for (int i = 0; i < 9; i++) {
|
||||
do {
|
||||
msg = receiveMessage(s[i]);
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasHandStartMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()));
|
||||
}
|
||||
|
||||
// The game should continue to the end.
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
failOnErrorMessage(msg);
|
||||
} while (!msg.hasEndOfGameMessage());
|
||||
} while (!(msg.hasGameMessage() && msg.getGameMessage().hasGameManagementMessage() && msg.getGameMessage().getGameManagementMessage().hasEndOfGameMessage()));
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
s[i].close();
|
||||
|
||||
@@ -27,15 +27,18 @@ import java.util.Iterator;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage.GameManagementMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage.GameMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.LobbyMessage.LobbyMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.GameManagementMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.GameMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo;
|
||||
import de.pokerth.protocol.ProtoBuf.PlayerResult;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventAckMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.EndRaiseMode;
|
||||
import de.pokerth.protocol.ProtoBuf.NetGameInfo.NetGameType;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage;
|
||||
import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType;
|
||||
import de.pokerth.protocol.ProtoBuf.StartEventMessage.StartEventType;
|
||||
|
||||
|
||||
public class RunNormalGameTest extends TestBase {
|
||||
@@ -55,53 +58,63 @@ public class RunNormalGameTest extends TestBase {
|
||||
|
||||
// Waiting for player list update.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage() || msg.getMessageType() != PokerTHMessageType.Type_PlayerListMessage) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_PlayerListMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
// Game list update (new game)
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListNewMessage() || msg.getMessageType() != PokerTHMessageType.Type_GameListNewMessage) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListNewMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_GameListNewMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
// Join game ack.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasJoinGameAckMessage() || msg.getMessageType() != PokerTHMessageType.Type_JoinGameAckMessage) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasJoinGameAckMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_JoinGameAckMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
// Game list update (player joined).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage() || msg.getMessageType() != PokerTHMessageType.Type_GameListPlayerJoinedMessage) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListPlayerJoinedMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_GameListPlayerJoinedMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
StartEventMessage startMsg = StartEventMessage.newBuilder()
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.build();
|
||||
|
||||
GameManagementMessage gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
|
||||
GameMessage game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setFillWithComputerPlayers(true)
|
||||
.setStartEventType(StartEventType.startEvent)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventMessage)
|
||||
.setStartEventMessage(startMsg)
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
|
||||
// Now the computer players should join.
|
||||
for (int i = 0; i < 9; i++) {
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGamePlayerJoinedMessage() || msg.getMessageType() != PokerTHMessageType.Type_GamePlayerJoinedMessage) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGamePlayerJoinedMessage() || msg.getGameMessage().getGameManagementMessage().getMessageType() != GameManagementMessageType.Type_GamePlayerJoinedMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage() || msg.getMessageType() != PokerTHMessageType.Type_GameListPlayerJoinedMessage) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListPlayerJoinedMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_GameListPlayerJoinedMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -109,29 +122,41 @@ public class RunNormalGameTest extends TestBase {
|
||||
|
||||
// Server should confirm start event.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasStartEventMessage() || msg.getMessageType() != PokerTHMessageType.Type_StartEventMessage) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasStartEventMessage() || msg.getGameMessage().getGameManagementMessage().getMessageType() != GameManagementMessageType.Type_StartEventMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
// Acknowledge start event.
|
||||
StartEventAckMessage startAck = StartEventAckMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.build();
|
||||
startAck = StartEventAckMessage.newBuilder()
|
||||
.build();
|
||||
|
||||
gameManagement = GameManagementMessage.newBuilder()
|
||||
.setMessageType(GameManagementMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
|
||||
game = GameMessage.newBuilder()
|
||||
.setGameId(gameId)
|
||||
.setMessageType(GameMessageType.Type_GameManagementMessage)
|
||||
.setGameManagementMessage(gameManagement)
|
||||
.build();
|
||||
|
||||
msg = PokerTHMessage.newBuilder()
|
||||
.setMessageType(PokerTHMessageType.Type_StartEventAckMessage)
|
||||
.setStartEventAckMessage(startAck)
|
||||
.build();
|
||||
.setMessageType(PokerTHMessageType.Type_GameMessage)
|
||||
.setGameMessage(game)
|
||||
.build();
|
||||
|
||||
sendMessage(msg);
|
||||
|
||||
// Game list update (game now running).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListUpdateMessage() || msg.getMessageType() != PokerTHMessageType.Type_GameListUpdateMessage) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListUpdateMessage() || msg.getLobbyMessage().getMessageType() != LobbyMessageType.Type_GameListUpdateMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameStartInitialMessage() || msg.getMessageType() != PokerTHMessageType.Type_GameStartInitialMessage) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGameStartInitialMessage() || msg.getGameMessage().getGameManagementMessage().getMessageType() != GameManagementMessageType.Type_GameStartInitialMessage) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -139,10 +164,10 @@ public class RunNormalGameTest extends TestBase {
|
||||
long lastPlayerMoney = 0;
|
||||
do {
|
||||
msg = receiveMessage();
|
||||
if (msg.hasEndOfHandHideCardsMessage()) {
|
||||
lastPlayerMoney = msg.getEndOfHandHideCardsMessage().getPlayerMoney();
|
||||
} else if (msg.hasEndOfHandShowCardsMessage()) {
|
||||
Collection<PlayerResult> result = msg.getEndOfHandShowCardsMessage().getPlayerResultsList();
|
||||
if (msg.hasGameMessage() && msg.getGameMessage().hasGameEngineMessage() && msg.getGameMessage().getGameEngineMessage().hasEndOfHandHideCardsMessage()) {
|
||||
lastPlayerMoney = msg.getGameMessage().getGameEngineMessage().getEndOfHandHideCardsMessage().getPlayerMoney();
|
||||
} else if (msg.getGameMessage().getGameEngineMessage().hasEndOfHandShowCardsMessage()) {
|
||||
Collection<PlayerResult> result = msg.getGameMessage().getGameEngineMessage().getEndOfHandShowCardsMessage().getPlayerResultsList();
|
||||
assertFalse(result.isEmpty());
|
||||
long maxPlayerMoney = 0;
|
||||
for (Iterator<PlayerResult> it = result.iterator(); it.hasNext(); ) {
|
||||
@@ -155,18 +180,20 @@ public class RunNormalGameTest extends TestBase {
|
||||
lastPlayerMoney = maxPlayerMoney;
|
||||
}
|
||||
} while (
|
||||
msg.hasHandStartMessage()
|
||||
|| msg.hasDealFlopCardsMessage()
|
||||
|| msg.hasDealRiverCardMessage()
|
||||
|| msg.hasDealTurnCardMessage()
|
||||
|| msg.hasPlayersTurnMessage()
|
||||
|| msg.hasPlayersActionDoneMessage()
|
||||
|| msg.hasEndOfHandHideCardsMessage()
|
||||
|| msg.hasEndOfHandShowCardsMessage()
|
||||
|| msg.hasAllInShowCardsMessage()
|
||||
|| msg.hasTimeoutWarningMessage()
|
||||
);
|
||||
if (!msg.hasEndOfGameMessage() || msg.getMessageType() != PokerTHMessageType.Type_EndOfGameMessage) {
|
||||
msg.hasGameMessage()
|
||||
&& ((msg.getGameMessage().hasGameEngineMessage() &&
|
||||
(msg.getGameMessage().getGameEngineMessage().hasHandStartMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasDealFlopCardsMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasDealRiverCardMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasDealTurnCardMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasPlayersTurnMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasPlayersActionDoneMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasEndOfHandHideCardsMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasEndOfHandShowCardsMessage()
|
||||
|| msg.getGameMessage().getGameEngineMessage().hasAllInShowCardsMessage()))
|
||||
|| ((msg.getGameMessage().hasGameManagementMessage() &&
|
||||
msg.getGameMessage().getGameManagementMessage().hasTimeoutWarningMessage()))));
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasEndOfGameMessage() || msg.getGameMessage().getGameManagementMessage().getMessageType() != GameManagementMessageType.Type_EndOfGameMessage) {
|
||||
fail("No end of game received.");
|
||||
}
|
||||
// Last player money should be sum of all money.
|
||||
@@ -175,12 +202,12 @@ public class RunNormalGameTest extends TestBase {
|
||||
// Now the computer players should leave.
|
||||
for (int i = 0; i < 9; i++) {
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGamePlayerLeftMessage()) {
|
||||
if (!msg.hasGameMessage() || !msg.getGameMessage().hasGameManagementMessage() || !msg.getGameMessage().getGameManagementMessage().hasGamePlayerLeftMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerLeftMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListPlayerLeftMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class RunRankingGameTest extends TestBase {
|
||||
// Waiting for player list update.
|
||||
PokerTHMessage msg;
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasPlayerListMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasPlayerListMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
@@ -70,21 +70,21 @@ public class RunRankingGameTest extends TestBase {
|
||||
|
||||
// Game list update (new game)
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListNewMessage()) {
|
||||
if (!msg.hasLobbyMessage() || !msg.getLobbyMessage().hasGameListNewMessage()) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
// Join game ack.
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasJoinGameAckMessage()) {
|
||||
if (!msg.hasLobbyMessage() || msg.getLobbyMessage().hasJoinGameAckMessage()) {
|
||||
fail("Could not create game!");
|
||||
}
|
||||
int gameId = msg.getJoinGameAckMessage().getGameId();
|
||||
int gameId = msg.getLobbyMessage().getJoinGameAckMessage().getGameId();
|
||||
|
||||
// Game list update (player joined).
|
||||
msg = receiveMessage();
|
||||
if (!msg.hasGameListPlayerJoinedMessage()) {
|
||||
if (!(msg.hasLobbyMessage() && msg.getLobbyMessage().hasGameListPlayerJoinedMessage())) {
|
||||
failOnErrorMessage(msg);
|
||||
fail("Invalid message.");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user