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;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.junit.Test;
import pokerth_protocol.NetGameInfo;
import pokerth_protocol.NonZeroId;
import pokerth_protocol.PlayerResult;
import pokerth_protocol.PokerTHMessage;
import pokerth_protocol.StartEventAckMessage;
import pokerth_protocol.StartEventMessage;
@@ -138,8 +142,26 @@ public class RunNormalGameTest extends TestBase {
fail("Invalid message.");
}
long lastPlayerMoney = 0;
do {
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 (
msg.isHandStartMessageSelected()
|| msg.isDealFlopCardsMessageSelected()
@@ -153,6 +175,9 @@ public class RunNormalGameTest extends TestBase {
if (!msg.isEndOfGameMessageSelected()) {
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.
for (int i = 0; i < 9; i++) {
msg = receiveMessage();
@@ -25,6 +25,7 @@ import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.junit.Test;
@@ -175,6 +176,7 @@ public class RunRankingGameTest extends TestBase {
}
long handNum = 0;
long lastPlayerMoney = 0;
do {
msg = receiveMessage();
failOnErrorMessage(msg);
@@ -219,6 +221,23 @@ public class RunRankingGameTest extends TestBase {
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());
@@ -228,6 +247,9 @@ public class RunRankingGameTest extends TestBase {
}
Thread.sleep(2000);
// Last player money should be sum of all money.
assertEquals(10000 * 10, lastPlayerMoney);
// Check database entry for the game.
ResultSet countAfterResult = dbStatement.executeQuery("SELECT COUNT(idgame) FROM game");
countAfterResult.first();