From c583d190022555d77cb8804422ca183b0d4da049 Mon Sep 17 00:00:00 2001 From: lotodore Date: Sat, 13 Nov 2010 01:43:23 +0000 Subject: [PATCH] Adding test to let a game run until the end. --- tests/src/pokerth_test/RunNormalGameTest.java | 92 +++++++++++++++++++ .../src/pokerth_test/StartNormalGameTest.java | 4 +- 2 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 tests/src/pokerth_test/RunNormalGameTest.java diff --git a/tests/src/pokerth_test/RunNormalGameTest.java b/tests/src/pokerth_test/RunNormalGameTest.java new file mode 100644 index 00000000..60b176e6 --- /dev/null +++ b/tests/src/pokerth_test/RunNormalGameTest.java @@ -0,0 +1,92 @@ +package pokerth_test; + +import static org.junit.Assert.fail; + +import java.util.ArrayList; +import java.util.Collection; + +import org.junit.Test; + +import pokerth_protocol.NetGameInfo; +import pokerth_protocol.NonZeroId; +import pokerth_protocol.PokerTHMessage; +import pokerth_protocol.StartEventMessage; +import pokerth_protocol.NetGameInfo.EndRaiseModeEnumType; +import pokerth_protocol.NetGameInfo.NetGameTypeEnumType; +import pokerth_protocol.StartEventMessage.StartEventMessageSequenceType; + + +public class RunNormalGameTest extends TestBase { + + @Test + public void testRunNormalGameAsGuest() throws Exception { + guestInit(); + + Collection l = new ArrayList(); + NetGameInfo gameInfo = createGameInfo(5, EndRaiseModeEnumType.EnumType.doubleBlinds, 0, 100, GuestUser + " run normal game", l, 10, 0, 2, 2000); + sendMessage(createJoinGameRequestMsg( + gameInfo, + NetGameTypeEnumType.EnumType.normalGame, + 10, + 5, + "")); + + PokerTHMessage msg; + do { + msg = receiveMessage(); + } while (msg.isPlayerListMessageSelected() || msg.isGameListMessageSelected()); + + if (msg.isJoinGameReplyMessageSelected()) { + if (!msg.getJoinGameReplyMessage().getValue().getJoinGameResult().isJoinGameAckSelected()) { + fail("Could not create game!"); + } + } + else { + failOnErrorMessage(msg); + fail("Invalid message."); + } + long gameId = msg.getJoinGameReplyMessage().getValue().getGameId().getValue(); + + StartEventMessageSequenceType gameStartType = new StartEventMessageSequenceType(); + gameStartType.setGameId(new NonZeroId(gameId)); + gameStartType.setFillWithComputerPlayers(true); + StartEventMessage startMsg = new StartEventMessage(); + startMsg.setValue(gameStartType); + msg = new PokerTHMessage(); + msg.selectStartEventMessage(startMsg); + sendMessage(msg); + + do { + msg = receiveMessage(); + } while (msg.isGameListMessageSelected()); + + if (msg.isGameStartMessageSelected()) { + failOnErrorMessage(msg); + fail("Invalid message."); + } + + do { + msg = receiveMessage(); + } while ( + msg.isGameListMessageSelected() + || msg.isGamePlayerMessageSelected() + || msg.isStartEventMessageSelected() + ); + + do { + msg = receiveMessage(); + } while ( + msg.isHandStartMessageSelected() + || msg.isDealFlopCardsMessageSelected() + || msg.isDealRiverCardMessageSelected() + || msg.isDealTurnCardMessageSelected() + || msg.isPlayersTurnMessageSelected() + || msg.isPlayersActionDoneMessageSelected() + || msg.isEndOfHandMessageSelected() + || msg.isAllInShowCardsMessageSelected() + ); + if (!msg.isEndOfGameMessageSelected()) { + fail("No end of game received."); + } + } +} diff --git a/tests/src/pokerth_test/StartNormalGameTest.java b/tests/src/pokerth_test/StartNormalGameTest.java index fa12ecbf..a1f88a61 100644 --- a/tests/src/pokerth_test/StartNormalGameTest.java +++ b/tests/src/pokerth_test/StartNormalGameTest.java @@ -36,11 +36,11 @@ public class StartNormalGameTest extends TestBase { guestInit(); Collection l = new ArrayList(); - NetGameInfo gameInfo = createGameInfo(5, EndRaiseModeEnumType.EnumType.doubleBlinds, 0, 100, GuestUser + " run normal game", l, 10, 0, 11, 20000); + NetGameInfo gameInfo = createGameInfo(10, EndRaiseModeEnumType.EnumType.doubleBlinds, 0, 100, GuestUser + " start normal game", l, 10, 0, 11, 20000); sendMessage(createJoinGameRequestMsg( gameInfo, NetGameTypeEnumType.EnumType.normalGame, - 5, + 10, 7, ""));