예제 #1
0
 /**
  * @param Domain\Game $game
  *
  * @return Dto\GameDetail
  */
 private function mapGameToGameDetailDto(Domain\Game $game)
 {
     $builder = (new Dto\GameDetailBuilder())->id($game->getId())->name($game->getName())->state($game->getState()->getName());
     foreach ($game->getPlayers() as $player) {
         $builder->addPlayer($player->getNumber(), $player->getStones());
     }
     if ($game->getCurrentTurn() !== null) {
         $builder->turn($game->getCurrentTurn()->getNumber(), $game->getCurrentTurn()->getPlayerNumber());
     }
     return $builder->get();
 }
예제 #2
0
 public function testPersistExistingGame()
 {
     $game = new Game('test game #1');
     $this->assertNull($game->getId());
     $this->gameRepository->persistGame($game);
     $id = $game->getId();
     $game->setName('test game #2');
     $this->gameRepository->persistGame($game);
     $this->assertNotNull($game->getId());
     $this->assertSame($id, $game->getId(), 'game still has same id');
     $this->assertSame('test game #2', $game->getName());
 }