public function testExtractSeasonStatsData()
 {
     $mockData = array('stats' => array(array('type' => '1v1', 'wins' => 52, 'games' => 73)));
     $result = SeasonParsingService::extractSeasonStatsData($mockData);
     /**
      * @var $statsEntry SeasonStats
      */
     $statsEntry = $result[0];
     $this->assertEquals($mockData['stats'][0]['type'], $statsEntry->getType());
     $this->assertEquals($mockData['stats'][0]['wins'], $statsEntry->getWins());
     $this->assertEquals($mockData['stats'][0]['games'], $statsEntry->getGames());
 }
 /**
  * Extract complete player profile information from an array.
  *
  * @param array $params
  * @return Player
  */
 public static function extract($params)
 {
     $portrait = IconParsingService::extract($params['portrait']);
     $career = CareerParsingService::extract($params['career']);
     $playerSwarmLevels = SwarmLevelsParsingService::extract($params['swarmLevels']);
     $campaign = CampaignParsingService::extract($params['campaign']);
     $season = SeasonParsingService::extract($params['season']);
     $rewards = RewardsParsingService::extract($params['rewards']);
     $achievements = AchievementParsingService::extract($params['achievements']);
     $profileBasicInformation = BasicProfileParsingService::extract($params);
     $player = new Player();
     $player->setBasicInformation($profileBasicInformation)->setPortrait($portrait)->setCareer($career)->setSwarmLevels($playerSwarmLevels)->setCampaign($campaign)->setSeason($season)->setRewards($rewards)->setAchievements($achievements);
     return $player;
 }