Here is how the client code would look:
void testAutomatedPlayer() {
Strategy strategy = new IntermediateStrategyInfo;
AutomatedPlayer computer = new AutomatedPlayerInfo("HAL 9000", strategy);
assert(computer->getName() == "HAL 9000");
GameState state = new GameStateInfo(0, 5, 8);
Move move = computer->getMove(state);
assert(move->getCoins() == 3 && move->getPile() == 3);
cout << "testAutomatedPlayer succeeded.\n";
}
|
|
Here is the extended main procedure:
int main(int argc, char** argv) {
testMove();
testGameState();
testPlayer();
testStrategy();
testIntermediateStrategy();
testAutomatedPlayer();
cout << "All tests succeeded.\n";
return (EXIT_SUCCESS);
}
|
|