public function test_toFromAssociativeArray_shouldCreateCorrectObject() { $exchangeTargeting = new ExchangeTargeting(false, true); $array = $exchangeTargeting->toAssociativeArray(); $newExchangeTarget = ExchangeTargeting::fromAssociativeArray($array); $this->assertEquals($exchangeTargeting->getFacebook(), $newExchangeTarget->getFacebook()); $this->assertEquals($exchangeTargeting->getAppnexus(), $newExchangeTarget->getAppnexus()); }
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; }