/**
  * FreeBusyCriteria constructor.
  *
  * @param array $params
  */
 public function __construct(array $params)
 {
     parent::__construct($params);
     if (isset($params['status'])) {
         if (FreeBusy::isValidStatus($params['status'])) {
             $this->status = $params['status'];
         } else {
             throw new InvalidArgumentException(sprintf('Invalid status "%s"', $params['status']));
         }
         throw new \RuntimeException('Status filter is not currently supported');
     }
 }
 /**
  * Test getting criteria raw data
  */
 public function testToRaw()
 {
     $timezone = new DateTimeZone('Europe/Minsk');
     $fromDate = new DateTime('2016-05-06T10:20:00');
     $toDate = new DateTime('2016-11-12T10:20:00');
     $calendars = ['cal_one', 'cal_two', 'cal_three'];
     $criteria = new EventCriteria();
     $criteria->setTimezone($timezone);
     $criteria->setFromDate($fromDate);
     $criteria->setToDate($toDate);
     $criteria->setCalendars($calendars);
     $this->assertSame(['tzid' => 'Europe/Minsk', 'from' => '2016-05-06', 'to' => '2016-11-12', 'calendar_ids' => ['cal_one', 'cal_two', 'cal_three']], $criteria->toRaw());
 }