Exemplo n.º 1
0
 public function testCheckIfAreDiffrentPlayers()
 {
     $player1 = new Player('player 1');
     $player2 = new Player('player 2');
     Player::checkIfAreDiffrentPlayers($player1, $player2);
     $this->addToAssertionCount(1);
     $expectedException = PlayerException::theseSamePlayers($player1);
     $this->expectException(get_class($expectedException));
     $this->expectExceptionMessage($expectedException->getMessage());
     Player::checkIfAreDiffrentPlayers($player1, $player1);
 }
Exemplo n.º 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);
 }