public function test_it_returns_first_found_winning_move_when_mutliple_winning_moves_exist() { $boardState = new Board(); $boardState->markField(Board::COL_1, Board::ROW_1, 'X'); $boardState->markField(Board::COL_1, Board::ROW_2, 'X'); $boardState->markField(Board::COL_2, Board::ROW_2, 'O'); $boardState->markField(Board::COL_2, Board::ROW_3, 'O'); $boardState->markField(Board::COL_3, Board::ROW_1, 'X'); $boardState->markField(Board::COL_3, Board::ROW_2, 'O'); $game = $this->createMockGame('X', 'O', $boardState); list($col, $row) = $this->miniMaxStrategy->getMove($game); $this->assertEquals(Board::COL_1, $col); $this->assertEquals(Board::ROW_3, $row); }
/** * @param Game $game * @return array (column, row) */ protected function getMiniMaxMove(Game $game) { return parent::getMove($game); }