public function testGetAchievementsInformationData()
 {
     $information = $this->apiService->getAchievementsInformation(Entity\Region::Europe);
     /**
      * @var $achievement Entity\Achievement\Standard
      * @var $category Entity\Achievement\Category
      */
     foreach ($information->getAchievements() as $achievement) {
         $this->assertInstanceOf('\\petrepatrasc\\BlizzardApiBundle\\Entity\\Achievement\\Standard', $achievement);
         $this->assertInstanceOf('\\petrepatrasc\\BlizzardApiBundle\\Entity\\Icon', $achievement->getIcon());
         $this->assertNotNull($achievement->getTitle());
         $this->assertNotNull($achievement->getDescription());
         $this->assertNotNull($achievement->getAchievementId());
         $this->assertNotNull($achievement->getCategoryId());
         $this->assertNotNull($achievement->getPoints());
     }
     foreach ($information->getCategories() as $category) {
         $this->assertInstanceOf('\\petrepatrasc\\BlizzardApiBundle\\Entity\\Achievement\\Category', $category);
         $this->assertInstanceOf('\\petrepatrasc\\BlizzardApiBundle\\Entity\\Achievement\\Minimised', $category->getMinimisedAchievement());
         if (!is_null($category->getChildren())) {
             foreach ($category->getChildren() as $child) {
                 $this->assertInstanceOf('\\petrepatrasc\\BlizzardApiBundle\\Entity\\Achievement\\Minimised', $child);
             }
         }
         $this->assertNotNull($category->getMinimisedAchievement()->getTitle());
         $this->assertNotNull($category->getMinimisedAchievement()->getCategoryId());
         $this->assertNotNull($category->getMinimisedAchievement()->getFeaturedAchievementId());
     }
 }
 public function testGetAchievementsInformationData()
 {
     $this->callServiceMock->expects($this->atLeastOnce())->method('makeCallToApiService')->withAnyParameters()->will($this->returnValue(file_get_contents(self::MOCK_PATH . 'achievement-information.json')));
     $achievementsInformation = $this->apiService->getAchievementsInformation(Entity\Region::Europe);
     /**
      * @var $achievement Entity\Achievement\Standard
      * @var $category Entity\Achievement\Category
      * @var $child Entity\Achievement\Minimised
      */
     // Check achievement
     $temp = $achievementsInformation->getAchievements();
     $achievement = $temp[0];
     $this->assertEquals("FFA Destroyer", $achievement->getTitle());
     $this->assertEquals("Win a Free-For-All Unranked game as each race option.", $achievement->getDescription());
     $this->assertEquals(91475320766632, $achievement->getAchievementId());
     $this->assertEquals(4325391, $achievement->getCategoryId());
     $this->assertEquals(10, $achievement->getPoints());
     $this->assertEquals(0, $achievement->getIcon()->getXCoordinate());
     $this->assertEquals(-375, $achievement->getIcon()->getYCoordinate());
     $this->assertEquals(75, $achievement->getIcon()->getWidth());
     $this->assertEquals(75, $achievement->getIcon()->getHeight());
     $this->assertEquals(45, $achievement->getIcon()->getOffset());
     $this->assertEquals("http://media.blizzard.com/sc2/achievements/5-75.jpg", $achievement->getIcon()->getUrl());
     // Check category
     $temp = $achievementsInformation->getCategories();
     $category = $temp[0];
     $this->assertEquals("Liberty Campaign", $category->getMinimisedAchievement()->getTitle());
     $this->assertEquals(4325379, $category->getMinimisedAchievement()->getCategoryId());
     $this->assertEquals(91475320766734, $category->getMinimisedAchievement()->getFeaturedAchievementId());
     $this->assertEquals(8, count($category->getChildren()));
     $temp = $category->getChildren();
     $child = $temp[0];
     $this->assertEquals("Mar Sara Missions", $child->getTitle());
     $this->assertEquals(3211278, $child->getCategoryId());
     $this->assertEquals(0, $child->getFeaturedAchievementId());
 }