/** * Get internally player GameTable's key * * @throws GameTableException * @param Player $player * @return int */ private function getPlayerKey(Player $player) : int { $playerKey = array_search($player, $this->players, true); if (false === $playerKey) { throw GameTableException::noPlayer($player); } return $playerKey; }
public function testCheckEveryPlayersHasSituatedCards() { $player1 = TestDataProvider::getPlayer1(); $player2 = TestDataProvider::getPlayer2(); $card2 = TestDataProvider::getCard2(); $card3 = TestDataProvider::getCard3(); $gameTable = new GameTable(array($player1, $player2)); $gameTable->getPlayerCards($player1)->append($card2); $gameTable->getPlayerCards($player2)->append($card3); $gameTable->checkEveryPlayersHasSituatedCards(); $this->addToAssertionCount(1); $gameTable->getPlayerCards($player1)->clear(); $expectedException = GameTableException::notAllPlayersPlacedCards(); $this->expectException(get_class($expectedException)); $this->expectExceptionMessage($expectedException->getMessage()); $gameTable->checkEveryPlayersHasSituatedCards(); }