previous | index

Testing the AutomatedPlayerInfo Class

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);
}


previous | index