public function test_it_returns_move_fetched_from_player_strategy() { $strategyMove = ["strategy", "move"]; $this->playerStrategy->shouldReceive("getMove")->andReturn($strategyMove); $game = m::mock("TicTacToe\\Model\\Game"); $this->assertEquals($strategyMove, $this->player->getMove($game)); }
/** * @param Player $startingPlayer * @param Player $opposingPlayer * @return Game */ public function create(Player $startingPlayer, Player $opposingPlayer) { $startingPlayer->setGameMark(self::PLAYER_MARK_1); $opposingPlayer->setGameMark(self::PLAYER_MARK_2); return new Game($startingPlayer, $opposingPlayer); }
/** * @param Player|null $winner */ private function showResult(Player $winner = null) { $result = null === $winner ? "it's a draw!\n" : sprintf("%s has won! Congrats.\n", $winner->getName()); $this->ioService->printMessageLine("End of the game: " . $result); }