public function testGetPlayerCards() { $players = TestDataProvider::getPlayersArray(); $playerNotInGame = TestDataProvider::getPlayer1(); $firstPlayer = reset($players); $gameTable = new GameTable($players); $this->assertInstanceOf(CardCollection::class, $gameTable->getPlayerCards($firstPlayer)); $expectedException = GameTableException::noPlayer($playerNotInGame); $this->expectException(get_class($expectedException)); $this->expectExceptionMessage($expectedException->getMessage()); $this->assertInstanceOf(CardCollection::class, $gameTable->getPlayerCards($playerNotInGame)); }
/** * 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; }