diff --git a/tests/src/pokerth_test/AllTests.java b/tests/src/pokerth_test/AllTests.java index fcc30335..121ef8b1 100644 --- a/tests/src/pokerth_test/AllTests.java +++ b/tests/src/pokerth_test/AllTests.java @@ -27,7 +27,8 @@ import org.junit.runners.Suite; GuestLoginTest.class, AuthLoginTest.class, CreateGameTest.class, - CreateRankingGameTest.class + CreateRankingGameTest.class, + StartNormalGameTest.class }) public class AllTests { public static void main(String[] args) diff --git a/tests/src/pokerth_test/CreateGameTest.java b/tests/src/pokerth_test/CreateGameTest.java index f822820b..17493047 100644 --- a/tests/src/pokerth_test/CreateGameTest.java +++ b/tests/src/pokerth_test/CreateGameTest.java @@ -75,14 +75,9 @@ public class CreateGameTest extends TestBase { fail("Game creation failed!"); } } - else if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else - { - fail("Invalid response message."); + else { + failOnErrorMessage(msg); + fail("Invalid message."); } } diff --git a/tests/src/pokerth_test/CreateRankingGameTest.java b/tests/src/pokerth_test/CreateRankingGameTest.java index a3c905f4..b54009b9 100644 --- a/tests/src/pokerth_test/CreateRankingGameTest.java +++ b/tests/src/pokerth_test/CreateRankingGameTest.java @@ -62,14 +62,9 @@ public class CreateRankingGameTest extends TestBase { fail("Guest user could create ranking game!"); } } - else if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else - { - fail("Invalid response message."); + else { + failOnErrorMessage(msg); + fail("Invalid message."); } } @@ -90,14 +85,9 @@ public class CreateRankingGameTest extends TestBase { fail("Registered user could not create ranking game!"); } } - else if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else - { - fail("Invalid response message."); + else { + failOnErrorMessage(msg); + fail("Invalid message."); } } @@ -118,14 +108,9 @@ public class CreateRankingGameTest extends TestBase { fail("Registered user should not be allowed to create ranking game with password!"); } } - else if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else - { - fail("Invalid response message."); + else { + failOnErrorMessage(msg); + fail("Invalid message."); } } } diff --git a/tests/src/pokerth_test/GuestLoginTest.java b/tests/src/pokerth_test/GuestLoginTest.java index 534b8775..0a68773c 100644 --- a/tests/src/pokerth_test/GuestLoginTest.java +++ b/tests/src/pokerth_test/GuestLoginTest.java @@ -17,17 +17,8 @@ package pokerth_test; -import static org.junit.Assert.*; - -import java.io.IOException; - import org.junit.Test; -import pokerth_protocol.*; -import pokerth_protocol.AnnounceMessage.AnnounceMessageSequenceType.ServerTypeEnumType; -import pokerth_protocol.InitMessage.*; -import pokerth_protocol.InitMessage.InitMessageSequenceType.LoginChoiceType; - public class GuestLoginTest extends TestBase { @Test diff --git a/tests/src/pokerth_test/StartNormalGameTest.java b/tests/src/pokerth_test/StartNormalGameTest.java new file mode 100644 index 00000000..8139124f --- /dev/null +++ b/tests/src/pokerth_test/StartNormalGameTest.java @@ -0,0 +1,65 @@ +package pokerth_test; + +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.Collection; + +import org.junit.Test; + +import pokerth_protocol.*; +import pokerth_protocol.NetGameInfo.EndRaiseModeEnumType; +import pokerth_protocol.NetGameInfo.NetGameTypeEnumType; +import pokerth_protocol.StartEventMessage.StartEventMessageSequenceType; + +public class StartNormalGameTest extends TestBase { + + @Test + public void testGameStartMessage() throws Exception { + guestInit(); + + Collection l = new ArrayList(); + NetGameInfo gameInfo = createGameInfo(5, EndRaiseModeEnumType.EnumType.doubleBlinds, 0, 100, GuestUser + " run normal game", l, 10, 0, 11, 20000); + sendMessage(createJoinGameRequestMsg( + gameInfo, + NetGameTypeEnumType.EnumType.normalGame, + 5, + 7, + "")); + + 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."); + } + } + +} diff --git a/tests/src/pokerth_test/TestBase.java b/tests/src/pokerth_test/TestBase.java index be485838..449732c1 100644 --- a/tests/src/pokerth_test/TestBase.java +++ b/tests/src/pokerth_test/TestBase.java @@ -37,7 +37,6 @@ import pokerth_protocol.NetGameInfo.RaiseIntervalModeChoiceType; import java.io.*; import java.net.*; -import java.util.ArrayList; import java.util.Collection; public abstract class TestBase { @@ -115,14 +114,9 @@ public abstract class TestBase { assertTrue(initAck.getValue().getYourPlayerId().getValue() != 0L); assertTrue(!initAck.getValue().isYourAvatarPresent()); } - else if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else - { - fail("Invalid response message."); + else { + failOnErrorMessage(msg); + fail("Invalid message."); } } @@ -171,42 +165,20 @@ public abstract class TestBase { msg.selectAuthMessage(authResponse); sendMessage(msg, s); } - else if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else - { - fail("Invalid auth message."); - } + failOnErrorMessage(msg); msg = receiveMessage(s); - if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else if (!msg.isAuthMessageSelected() || !msg.getAuthMessage().getValue().isAuthServerVerificationSelected()) - { - fail("Invalid auth message."); - } + failOnErrorMessage(msg); msg = receiveMessage(s); - if (msg.isInitAckMessageSelected()) - { + if (msg.isInitAckMessageSelected()) { InitAckMessage initAck = msg.getInitAckMessage(); assertTrue(initAck.getValue().getYourPlayerId().getValue() != 0L); assertTrue(!initAck.getValue().isYourAvatarPresent()); } - else if (msg.isErrorMessageSelected()) - { - ErrorMessage error = msg.getErrorMessage(); - fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); - } - else - { - fail("Invalid response message."); + else { + failOnErrorMessage(msg); + fail("Invalid message."); } } @@ -257,4 +229,12 @@ public abstract class TestBase { return gameInfo; } + + void failOnErrorMessage(PokerTHMessage msg) { + if (msg.isErrorMessageSelected()) + { + ErrorMessage error = msg.getErrorMessage(); + fail("Received error: " + error.getValue().getErrorReason().getValue().toString()); + } + } }