/**
  * @covers WindowsAzure\MediaServices\Models\ContentKeyAuthorizationPolicyOption::createFromOptions
  * @covers WindowsAzure\MediaServices\Models\ContentKeyAuthorizationPolicyOption::fromArray
  * @covers WindowsAzure\MediaServices\Models\ContentKeyAuthorizationPolicyOption::__construct
  */
 public function testCreateFromOptions()
 {
     // Setup
     $contentKeyAuthorizationOptionsId = 'content-key-authorization-options-id-12563';
     $options = array('Id' => $contentKeyAuthorizationOptionsId, 'Name' => 'testNameForContentKeyAuthorizationPolicyOption', 'KeyDeliveryType' => 2, 'KeyDeliveryConfiguration' => 'testKeyDeliveryConfiguration', 'Restrictions' => array());
     // Test
     $contentKeyAuthorizationOptions = ContentKeyAuthorizationPolicyOption::createFromOptions($options);
     // Assert
     $this->assertEquals($contentKeyAuthorizationOptionsId, $contentKeyAuthorizationOptions->getId());
     $this->assertEquals($options['Name'], $contentKeyAuthorizationOptions->getName());
     $this->assertEquals($options['KeyDeliveryType'], $contentKeyAuthorizationOptions->getKeyDeliveryType());
     $this->assertEquals($options['KeyDeliveryConfiguration'], $contentKeyAuthorizationOptions->getKeyDeliveryConfiguration());
     // TODO: Restrictions
 }
 /**
  * Get ContentKeyAuthorizationPolicy linked Options
  *
  * @param \WindowsAzure\MediaServices\Models\ContentKeyAuthorizationPolicy|string $asset ContentKeyAuthorizationPolicy data or
  * ContentKeyAuthorizationPolicy Id
  *
  * @return array
  */
 public function getContentKeyAuthorizationPolicyLinkedOptions($policy)
 {
     $policyId = Utilities::getEntityId($policy, 'WindowsAzure\\MediaServices\\Models\\ContentKeyAuthorizationPolicy');
     $propertyList = $this->_getEntityList("ContentKeyAuthorizationPolicies('{$policyId}')/Options");
     $result = array();
     foreach ($propertyList as $properties) {
         $result[] = ContentKeyAuthorizationPolicyOption::createFromOptions($properties);
     }
     return $result;
 }