Modifying test cases so that it is checked whether the game winner money is the sum of all start money.

This commit is contained in:
lotodore
2011-03-08 22:49:48 +00:00
parent 087cc852f0
commit 8b4ed277ad
2 changed files with 47 additions and 0 deletions
@@ -17,15 +17,19 @@
package pokerth_test; package pokerth_test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Iterator;
import org.junit.Test; import org.junit.Test;
import pokerth_protocol.NetGameInfo; import pokerth_protocol.NetGameInfo;
import pokerth_protocol.NonZeroId; import pokerth_protocol.NonZeroId;
import pokerth_protocol.PlayerResult;
import pokerth_protocol.PokerTHMessage; import pokerth_protocol.PokerTHMessage;
import pokerth_protocol.StartEventAckMessage; import pokerth_protocol.StartEventAckMessage;
import pokerth_protocol.StartEventMessage; import pokerth_protocol.StartEventMessage;
@@ -138,8 +142,26 @@ public class RunNormalGameTest extends TestBase {
fail("Invalid message."); fail("Invalid message.");
} }
long lastPlayerMoney = 0;
do { do {
msg = receiveMessage(); msg = receiveMessage();
if (msg.isEndOfHandMessageSelected()) {
if (msg.getEndOfHandMessage().getValue().getEndOfHandType().isEndOfHandHideCardsSelected()) {
lastPlayerMoney = msg.getEndOfHandMessage().getValue().getEndOfHandType().getEndOfHandHideCards().getPlayerMoney();
} else if (msg.getEndOfHandMessage().getValue().getEndOfHandType().isEndOfHandShowCardsSelected()) {
Collection<PlayerResult> result = msg.getEndOfHandMessage().getValue().getEndOfHandType().getEndOfHandShowCards().getPlayerResults();
assertFalse(result.isEmpty());
long maxPlayerMoney = 0;
for (Iterator<PlayerResult> it = result.iterator(); it.hasNext(); ) {
PlayerResult r = it.next();
long curMoney = r.getPlayerMoney();
if (curMoney > maxPlayerMoney) {
maxPlayerMoney = curMoney;
}
}
lastPlayerMoney = maxPlayerMoney;
}
}
} while ( } while (
msg.isHandStartMessageSelected() msg.isHandStartMessageSelected()
|| msg.isDealFlopCardsMessageSelected() || msg.isDealFlopCardsMessageSelected()
@@ -153,6 +175,9 @@ public class RunNormalGameTest extends TestBase {
if (!msg.isEndOfGameMessageSelected()) { if (!msg.isEndOfGameMessageSelected()) {
fail("No end of game received."); fail("No end of game received.");
} }
// Last player money should be sum of all money.
assertEquals(2000 * 10, lastPlayerMoney);
// Now the computer players should leave. // Now the computer players should leave.
for (int i = 0; i < 9; i++) { for (int i = 0; i < 9; i++) {
msg = receiveMessage(); msg = receiveMessage();
@@ -25,6 +25,7 @@ import static org.junit.Assert.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Iterator;
import org.junit.Test; import org.junit.Test;
@@ -175,6 +176,7 @@ public class RunRankingGameTest extends TestBase {
} }
long handNum = 0; long handNum = 0;
long lastPlayerMoney = 0;
do { do {
msg = receiveMessage(); msg = receiveMessage();
failOnErrorMessage(msg); failOnErrorMessage(msg);
@@ -219,6 +221,23 @@ public class RunRankingGameTest extends TestBase {
sendMessage(outMsg, s[i]); sendMessage(outMsg, s[i]);
} }
} }
else if (inMsg.isEndOfHandMessageSelected()) {
if (inMsg.getEndOfHandMessage().getValue().getEndOfHandType().isEndOfHandHideCardsSelected()) {
lastPlayerMoney = inMsg.getEndOfHandMessage().getValue().getEndOfHandType().getEndOfHandHideCards().getPlayerMoney();
} else if (inMsg.getEndOfHandMessage().getValue().getEndOfHandType().isEndOfHandShowCardsSelected()) {
Collection<PlayerResult> result = inMsg.getEndOfHandMessage().getValue().getEndOfHandType().getEndOfHandShowCards().getPlayerResults();
assertFalse(result.isEmpty());
long maxPlayerMoney = 0;
for (Iterator<PlayerResult> it = result.iterator(); it.hasNext(); ) {
PlayerResult r = it.next();
long curMoney = r.getPlayerMoney();
if (curMoney > maxPlayerMoney) {
maxPlayerMoney = curMoney;
}
}
lastPlayerMoney = maxPlayerMoney;
}
}
} }
} }
} while (!msg.isEndOfGameMessageSelected()); } while (!msg.isEndOfGameMessageSelected());
@@ -228,6 +247,9 @@ public class RunRankingGameTest extends TestBase {
} }
Thread.sleep(2000); Thread.sleep(2000);
// Last player money should be sum of all money.
assertEquals(10000 * 10, lastPlayerMoney);
// Check database entry for the game. // Check database entry for the game.
ResultSet countAfterResult = dbStatement.executeQuery("SELECT COUNT(idgame) FROM game"); ResultSet countAfterResult = dbStatement.executeQuery("SELECT COUNT(idgame) FROM game");
countAfterResult.first(); countAfterResult.first();