private function createUserImageResponse(User $user, Image $image)
 {
     return new Response(join(' / ', [$user->getId(), $user->getName(), $image->getId()]), Response::HTTP_OK);
 }
 /**
  * {@inheritDoc}
  */
 public function getName()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', array());
     return parent::getName();
 }
 /**
  * @param array $game
  * @param int $gameId
  * @param User $user
  * @param array $playerShips
  * @param User $otherUser
  * @param int $playerNumber
  * @param int $lessThanAgo (in seconds)
  */
 protected function validateGetGameResponse(array $game, $gameId, User $user = null, array $playerShips = [], User $otherUser = null, $playerNumber = 1, $lessThanAgo = 120)
 {
     $expectedKeys = ['id', 'playerShips', 'playerNumber', 'timestamp'];
     if ($user) {
         $expectedKeys[] = 'player';
     }
     if ($otherUser) {
         $expectedKeys[] = 'other';
     }
     $gameKeys = array_keys($game);
     sort($expectedKeys);
     sort($gameKeys);
     $this->assertEquals($expectedKeys, $gameKeys);
     $this->assertEquals($gameId, $game['id'], 'Incorrect game id');
     if ($user) {
         $this->assertEquals(['name' => $user->getName()], $game['player'], 'Incorrect player details');
     }
     $this->assertEquals($playerShips, $game['playerShips'], 'Incorrect player ships');
     $this->assertEquals($playerNumber, $game['playerNumber'], 'Incorrect player number');
     if ($otherUser) {
         $this->assertEquals(['name' => $otherUser->getName()], $game['other'], 'Incorrect other details');
     }
     // not more than X seconds ago
     $timestamp = new \DateTime($game['timestamp']);
     $this->assertLessThan($lessThanAgo, time() - $timestamp->getTimestamp());
 }