public function test_fromAssociativeArray_setsFacebookCorrectly()
 {
     $mockAccountId = 1234;
     $mockPageId = 321;
     $mockArray = array(Context::FACEBOOK_CONTEXT => array(Context\FacebookContext::AD_ACCOUNT_ID => $mockAccountId, Context\FacebookContext::PAGE_ID => $mockPageId));
     $context = Context::fromAssociativeArray($mockArray);
     $facebookContext = $context->getFacebookContext();
     $this->assertEquals($mockPageId, $facebookContext->getPageId());
     $this->assertEquals($mockAccountId, $facebookContext->getAdAccountId());
 }
 public static function fromAssociativeArray($firehoundBlobArray)
 {
     $name = isset($firehoundBlobArray[self::NAME]) ? $firehoundBlobArray[self::NAME] : null;
     $identifier = isset($firehoundBlobArray[self::IDENTIFIER]) ? $firehoundBlobArray[self::IDENTIFIER] : null;
     $startDate = isset($firehoundBlobArray[self::START_DATE]) ? $firehoundBlobArray[self::START_DATE] : null;
     $endDate = isset($firehoundBlobArray[self::END_DATE]) ? $firehoundBlobArray[self::END_DATE] : null;
     $budgets = null;
     if (isset($firehoundBlobArray[self::BUDGETS]) && is_array($firehoundBlobArray[self::BUDGETS])) {
         $budgets = array();
         foreach ($firehoundBlobArray[self::BUDGETS] as $key => $budgetArray) {
             $budgets[$key] = Budget::fromAssociativeArray($budgetArray);
         }
     }
     $budget = is_array($budgets) ? $budgets : null;
     $targeting = isset($firehoundBlobArray[self::TARGETING]) ? Targeting::fromAssociativeArray($firehoundBlobArray[self::TARGETING]) : null;
     $platformTargeting = isset($firehoundBlobArray[self::PLATFORM_TARGETING]) ? PlatformTargeting::fromAssociativeArray($firehoundBlobArray[self::PLATFORM_TARGETING]) : null;
     $exchangeTargeting = isset($firehoundBlobArray[self::EXCHANGE_TARGETING]) ? ExchangeTargeting::fromAssociativeArray($firehoundBlobArray[self::EXCHANGE_TARGETING]) : null;
     $creative = self::getCreativeFromBlobArray($firehoundBlobArray);
     $context = isset($firehoundBlobArray[self::CONTEXT]) ? Context::fromAssociativeArray($firehoundBlobArray[self::CONTEXT]) : null;
     $firehoundBlob = new FirehoundBlob($name, $identifier, $startDate, $endDate, $budget, $targeting, $platformTargeting, $exchangeTargeting, $creative, $context);
     return $firehoundBlob;
 }