/**
  * @covers WindowsAzure\MediaServices\Templates\PlayReadyPlayRight::setUncompressedDigitalAudioOpl
  */
 public function testSetInvalidUncompressedDigitalAudioOplShouldThrown()
 {
     // Setup
     $entity = new PlayReadyPlayRight();
     $payload = 105;
     $this->setExpectedException('InvalidArgumentException', ErrorMessages::UNCOMPRESSED_DIGITAL_AUDIO_OPL_VALUE_ERROR);
     // Test
     $entity->setUncompressedDigitalAudioOpl($payload);
 }
 /**
  * @param mixed $xmlElement
  *
  * @return PlayReadyPlayRight PlayReadyPlayRight
  */
 private static function deserializePlayReadyPlayRight($xmlElement)
 {
     $result = new PlayReadyPlayRight();
     if (isset($xmlElement->FirstPlayExpiration)) {
         $result->setFirstPlayExpiration(new \DateInterval((string) $xmlElement->FirstPlayExpiration));
     }
     if (isset($xmlElement->ScmsRestriction) && isset($xmlElement->ScmsRestriction->ConfigurationData)) {
         $result->setScmsRestriction(new ScmsRestriction(intval((string) $xmlElement->ScmsRestriction->ConfigurationData)));
     }
     if (isset($xmlElement->AgcAndColorStripeRestriction) && isset($xmlElement->AgcAndColorStripeRestriction->ConfigurationData)) {
         $result->setAgcAndColorStripeRestriction(new AgcAndColorStripeRestriction(intval((string) $xmlElement->AgcAndColorStripeRestriction->ConfigurationData)));
     }
     if (isset($xmlElement->ExplicitAnalogTelevisionOutputRestriction) && isset($xmlElement->ExplicitAnalogTelevisionOutputRestriction->ConfigurationData)) {
         $bestEffort = false;
         if (isset($xmlElement->ExplicitAnalogTelevisionOutputRestriction->BestEffort)) {
             $bestEffort = $xmlElement->ExplicitAnalogTelevisionOutputRestriction->BestEffort == 'true';
         }
         $configurationData = intval((string) $xmlElement->ExplicitAnalogTelevisionOutputRestriction->ConfigurationData);
         $result->setExplicitAnalogTelevisionOutputRestriction(new ExplicitAnalogTelevisionRestriction($configurationData, $bestEffort));
     }
     if (isset($xmlElement->DigitalVideoOnlyContentRestriction)) {
         $result->setDigitalVideoOnlyContentRestriction($xmlElement->DigitalVideoOnlyContentRestriction == 'true');
     }
     if (isset($xmlElement->ImageConstraintForAnalogComponentVideoRestriction)) {
         $result->setImageConstraintForAnalogComponentVideoRestriction($xmlElement->ImageConstraintForAnalogComponentVideoRestriction == 'true');
     }
     if (isset($xmlElement->ImageConstraintForAnalogComputerMonitorRestriction)) {
         $result->setImageConstraintForAnalogComputerMonitorRestriction($xmlElement->ImageConstraintForAnalogComputerMonitorRestriction == 'true');
     }
     if (isset($xmlElement->AllowPassingVideoContentToUnknownOutput)) {
         $result->setAllowPassingVideoContentToUnknownOutput((string) $xmlElement->AllowPassingVideoContentToUnknownOutput);
     }
     if (isset($xmlElement->UncompressedDigitalVideoOpl)) {
         $result->setUncompressedDigitalVideoOpl((int) $xmlElement->UncompressedDigitalVideoOpl);
     }
     if (isset($xmlElement->CompressedDigitalVideoOpl)) {
         $result->setCompressedDigitalVideoOpl((int) $xmlElement->CompressedDigitalVideoOpl);
     }
     if (isset($xmlElement->AnalogVideoOpl)) {
         $result->setAnalogVideoOpl((int) $xmlElement->AnalogVideoOpl);
     }
     if (isset($xmlElement->CompressedDigitalAudioOpl)) {
         $result->setCompressedDigitalAudioOpl((int) $xmlElement->CompressedDigitalAudioOpl);
     }
     if (isset($xmlElement->UncompressedDigitalAudioOpl)) {
         $result->setUncompressedDigitalAudioOpl((int) $xmlElement->UncompressedDigitalAudioOpl);
     }
     return $result;
 }