/**
  * Extract ladder position entry from an array.
  *
  * @param array $params
  * @return Position
  */
 public static function extract($params)
 {
     $ladderPosition = new Position();
     $characterProfile = BasicProfileParsingService::extract($params['character']);
     $joinDate = new \DateTime();
     $joinDate->setTimestamp($params['joinTimestamp']);
     if (!isset($params['favoriteRaceP1'])) {
         $params['favoriteRaceP1'] = null;
     }
     $ladderPosition->setCharacter($characterProfile)->setJoinDate($joinDate)->setPoints($params['points'])->setWins($params['wins'])->setLosses($params['losses'])->setHighestRank($params['highestRank'])->setPreviousRank($params['previousRank'])->setFavoriteRaceP1($params['favoriteRaceP1']);
     return $ladderPosition;
 }
 public function grandmasterLeagueInformationDataProvider()
 {
     // Current season member
     $currentSeasonMemberToCheck = new Entity\Ladder\Position();
     $character = new Entity\Player\Basic();
     $character->setId(4685683)->setRealm(1)->setDisplayName("IIIIIIIIIIII")->setClanName('')->setClanTag('')->setProfilePath('/profile/4685683/1/IIIIIIIIIIII/');
     $joinDate = new \DateTime();
     $joinDate->setTimestamp(1392756107);
     $currentSeasonMemberToCheck->setCharacter($character)->setJoinDate($joinDate)->setPoints(2781.0)->setWins(200)->setLosses(101)->setHighestRank(1)->setPreviousRank(18)->setFavoriteRaceP1("PROTOSS");
     // Previous season member
     $previousSeasonMemberToCheck = new Entity\Ladder\Position();
     $character = new Entity\Player\Basic();
     $character->setId(4149248)->setRealm(1)->setDisplayName("JJAKJI")->setClanName('mYinsanity')->setClanTag('mYi')->setProfilePath('/profile/4149248/1/JJAKJI/');
     $joinDate = new \DateTime();
     $joinDate->setTimestamp(1385578333);
     $previousSeasonMemberToCheck->setCharacter($character)->setJoinDate($joinDate)->setPoints(2323.0)->setWins(200)->setLosses(36)->setHighestRank(1)->setPreviousRank(1)->setFavoriteRaceP1("TERRAN");
     // Player ladder information
     $playerLadderInformation = new Entity\Ladder\Position();
     $character = new Entity\Player\Basic();
     $character->setId(2048419)->setRealm(1)->setDisplayName("LionHeart")->setClanName('Cegeka Guild')->setClanTag('CGK')->setProfilePath('/profile/2048419/1/LionHeart/');
     $joinDate = new \DateTime();
     $joinDate->setTimestamp(1391555842);
     $playerLadderInformation->setCharacter($character)->setJoinDate($joinDate)->setPoints(1111.0)->setWins(56)->setLosses(23)->setHighestRank(1)->setPreviousRank(1)->setFavoriteRaceP1("TERRAN");
     return array(array(Entity\Region::Europe, 'ladder-grandmaster.json', 'getGrandmasterLeagueInformation', false, $currentSeasonMemberToCheck), array(Entity\Region::Europe, 'ladder-grandmaster-last.json', 'getGrandmasterLeagueInformation', true, $previousSeasonMemberToCheck), array(Entity\Region::Europe, 'ladder-information.json', 'getLeagueInformation', 151146, $playerLadderInformation));
 }