/**
  * Not all statusses are allowed according to the spec 2.4.10.1.2
  */
 public function testAllowedStatusses()
 {
     $record = new AttributeReportingConfigurationStatusRecord();
     $allowed_statusses = [ZCLStatus::UNSUPPORTED_ATTRIBUTE, ZCLStatus::UNREPORTABLE_ATTRIBUTE, ZCLStatus::SUCCESS];
     // Some random other statusses that are not whitelisted
     $disallowed_statusses = [ZCLStatus::CALIBRATION_ERROR, ZCLStatus::INSUFFICIENT_SPACE, ZCLStatus::UNSUP_CLUSTER_COMMAND];
     foreach ($allowed_statusses as $allowed_status) {
         $record->setStatus($allowed_status);
         $this->assertEquals($allowed_status, $record->getStatus());
     }
     foreach ($disallowed_statusses as $disallowed_status) {
         try {
             $record->setStatus($disallowed_status);
             $this->fail("setStatus should not accept status " . ZCLStatus::displayStatus($disallowed_status));
         } catch (ZigbeeException $e) {
         }
     }
 }
 public function displayStatus()
 {
     return ZCLStatus::displayStatus($this->getStatus());
 }
 public function displayStatusCode()
 {
     return ZCLStatus::displayStatus($this->status_code);
 }