/**
  * Get list of all asset files.
  *
  * @return array of Models\AssetFile
  */
 public function getAssetFileList()
 {
     $propertyList = $this->_getEntityList('Files');
     $result = array();
     foreach ($propertyList as $properties) {
         $result[] = AssetFile::createFromOptions($properties);
     }
     return $result;
 }
 /**
  * Create asset file from array
  *
  * @param array $options Array containing values for object properties
  *
  * @return WindowsAzure\MediaServices\Models\AssetFile
  */
 public static function createFromOptions($options)
 {
     Validate::notNull($options['Name'], 'options[Name]');
     Validate::notNull($options['ParentAssetId'], 'options[ParentAssetId]');
     $assetFile = new AssetFile($options['Name'], $options['ParentAssetId']);
     $assetFile->fromArray($options);
     return $assetFile;
 }
 /**
  * @covers WindowsAzure\MediaServices\Models\AssetFile::createFromOptions
  * @covers WindowsAzure\MediaServices\Models\AssetFile::fromArray
  */
 public function testAssetFileFromOptions()
 {
     // Setup
     $assetFileArray = array('Id' => 'dfhdgh56', 'Name' => 'newAssetFile', 'ContentFileSize' => '20 mb', 'ParentAssetId' => 'kdjfg67', 'EncryptionVersion' => 'EncryptionVersion', 'EncryptionScheme' => 'EnryptionScheme', 'IsEncrypted' => true, 'EncryptionKeyId' => 'keyId896', 'InitializationVector' => 'InitVector', 'IsPrimary' => true, 'LastModified' => '2013-11-19', 'Created' => '2013-11-19', 'MimeType' => 'type of mime', 'ContentChecksum' => 'ContentChecksum');
     $created = new \Datetime($assetFileArray['Created']);
     $modified = new \Datetime($assetFileArray['LastModified']);
     // Test
     $resultAssetFile = AssetFile::createFromOptions($assetFileArray);
     // Assert
     $this->assertEquals($assetFileArray['Id'], $resultAssetFile->getId());
     $this->assertEquals($assetFileArray['Name'], $resultAssetFile->getName());
     $this->assertEquals($assetFileArray['ContentFileSize'], $resultAssetFile->getContentFileSize());
     $this->assertEquals($assetFileArray['ParentAssetId'], $resultAssetFile->getParentAssetId());
     $this->assertEquals($assetFileArray['EncryptionVersion'], $resultAssetFile->getEncryptionVersion());
     $this->assertEquals($assetFileArray['EncryptionScheme'], $resultAssetFile->getEncryptionScheme());
     $this->assertEquals($assetFileArray['IsEncrypted'], $resultAssetFile->getIsEncrypted());
     $this->assertEquals($assetFileArray['EncryptionKeyId'], $resultAssetFile->getEncryptionKeyId());
     $this->assertEquals($assetFileArray['InitializationVector'], $resultAssetFile->getInitializationVector());
     $this->assertEquals($assetFileArray['IsPrimary'], $resultAssetFile->getIsPrimary());
     $this->assertEquals($modified->getTimestamp(), $resultAssetFile->getLastModified()->getTimestamp());
     $this->assertEquals($created->getTimestamp(), $resultAssetFile->getCreated()->getTimestamp());
     $this->assertEquals($assetFileArray['MimeType'], $resultAssetFile->getMimeType());
     $this->assertEquals($assetFileArray['ContentChecksum'], $resultAssetFile->getContentCheckSum());
 }