Beispiel #1
0
 public static function fromAssociativeArray($assocArray)
 {
     $values = array();
     foreach ($assocArray as $currKey => $currValue) {
         $values[$currKey] = $currValue;
     }
     if (isset($assocArray[self::APPNEXUS_VALUES])) {
         $exchangeCampaign = new ExchangeCampaign();
         $exchangeCampaign->fromAssociativeArray($assocArray[self::APPNEXUS_VALUES]);
         $values[self::APPNEXUS_VALUES] = $exchangeCampaign;
     }
     if (isset($assocArray[self::AUDIENCE_GROUPS])) {
         $audienceGroups = new CampaignAudienceGroups(array());
         $audienceGroups->fromAssociativeArray($assocArray[self::AUDIENCE_GROUPS]);
         $values[self::AUDIENCE_GROUPS] = $audienceGroups;
     }
     if (isset($assocArray[self::APPNEXUS_OBJECT_INCLUSIONS])) {
         $appnexusObjectList = new AppNexusDataIncludeFrame();
         $appnexusObjectList->fromAssociativeArray($assocArray[self::APPNEXUS_OBJECT_INCLUSIONS]);
         $values[self::APPNEXUS_OBJECT_INCLUSIONS] = $appnexusObjectList;
     }
     if (isset($assocArray[self::FACEBOOK_CONTEXT])) {
         $facebookContext = new FacebookContext();
         $facebookContext->fromAssociativeArray($assocArray[self::FACEBOOK_CONTEXT]);
         $values[self::FACEBOOK_CONTEXT] = $facebookContext;
     }
     $context = new Context($values);
     return $context;
 }
 public function test_toFromAssociativeArray_returnsCorrectValues()
 {
     $mockPageID = "mockPageId";
     $mockAdAccountID = "mockAdAccountId";
     $mockIgActorId = "mockIgActorId";
     $mockAdSetArray = array("adSetId" => "bar");
     $mockAdSet = $this->buildMock('\\PaperG\\FirehoundBlob\\Facebook\\FacebookAdSet');
     $mockAdSet->expects($this->once())->method('toAssociativeArray')->will($this->returnValue($mockAdSetArray));
     $mockAdSets = [$mockAdSet];
     $facebookContext = new FacebookContext();
     $facebookContext->setAdAccountId($mockAdAccountID);
     $facebookContext->setPageId($mockPageID);
     $facebookContext->setAdSets($mockAdSets);
     $facebookContext->setIgActorId($mockIgActorId);
     $expectedArray = array(FacebookContext::PAGE_ID => $mockPageID, FacebookContext::AD_ACCOUNT_ID => $mockAdAccountID, FacebookContext::AD_SETS => array($mockAdSetArray), FacebookContext::ACCESS_TOKEN => null, FacebookContext::IG_ACTOR_ID => $mockIgActorId);
     $associativeArray = $facebookContext->toAssociativeArray();
     $this->assertEquals($expectedArray, $associativeArray);
     $facebookContext->setAdSets(null);
     $facebookContext->setPageId(null);
     $facebookContext->setAdAccountId(null);
     $facebookContext->setIgActorId(null);
     $facebookContext->fromAssociativeArray($associativeArray);
     $this->assertEquals($mockPageID, $facebookContext->getPageId());
     $this->assertEquals($mockAdAccountID, $facebookContext->getAdAccountId());
     $adSet = $facebookContext->getAdSets()[0];
     $this->assertEquals("bar", $adSet->getAdSetId());
 }