Пример #1
0
 public function testCheckPlayerHasNotCard()
 {
     $player = new Player('player name');
     $card = TestDataProvider::getCard2();
     $player->checkPlayerHasNotCard($card);
     $this->addToAssertionCount(1);
     $player->getCards()->append($card);
     $expectedException = PlayerException::playerHasAlreadyCard($player, $card);
     $this->expectException(get_class($expectedException));
     $this->expectExceptionMessage($expectedException->getMessage());
     $player->checkPlayerHasNotCard($card);
 }
Пример #2
0
 /**
  * Giveing $card from $byPlayer to $toPlayer
  * Implemented games can override this metod by should call it for this action
  *
  * @param Card $card
  * @param Player $byPlayer
  * @param Player $toPlayer
  */
 public function giveCardByPlayerToPlayer(Card $card, Player $byPlayer, Player $toPlayer)
 {
     $byPlayer->checkPlayerHasCard($card);
     $toPlayer->checkPlayerHasNotCard($card);
     Player::checkIfAreDiffrentPlayers($byPlayer, $toPlayer);
     $this->checkPlayerCanGiveCardToPlayer($byPlayer, $toPlayer, $card);
     $byPlayerCard = $byPlayer->getCards()->collect($card);
     $toPlayer->getCards()->append($byPlayerCard);
 }