/**
  * Test Get/Set, create, endpoint methods.
  */
 public function testGameListEntity()
 {
     $gameList = GameList::create();
     $this->assertInstanceOf('Shoko\\TwitchApiBundle\\Model\\Entity\\GameList', $gameList);
     $this->assertEquals(array(), $gameList->getLinks());
     $link = 'some_link';
     $this->assertEquals([$link], $gameList->setLinks([$link])->getLinks());
     $this->assertEquals(array(), $gameList->getGames());
     $game = new Game();
     $this->assertEquals([$game], $gameList->setGames([$game])->getGames());
 }
 /**
  * @param array          $data
  * @param false|GameList $gameList
  *
  * @return GameList
  */
 public function createList(array $data, $gameList = false)
 {
     if (false === $gameList) {
         $gameList = GameList::create();
     }
     if (isset($data['games'])) {
         $gameList = $gameList->setGames($this->createGames($data['games']));
     }
     if (isset($data['_links'])) {
         $gameList = $gameList->setLinks($data['_links']);
     }
     return $gameList;
 }
 /**
  * @param array            $data
  * @param false|GameList $gameList
  *
  * @return GameList
  */
 public function createGameList(array $data, $gameList = false)
 {
     if (false === $gameList) {
         $gameList = GameList::create();
     }
     if (isset($data['follows'])) {
         $gameList = $gameList->setGames((new TopFactory())->createRanks($data['follows']));
     }
     if (isset($data['_links'])) {
         $gameList = $gameList->setLinks($data['_links']);
     }
     if (isset($data['_total'])) {
         $gameList = $gameList->setTotal($data['_total']);
     }
     return $gameList;
 }