public function testProperties()
 {
     $Message = new PayloadMessage();
     $Message->setType(PayloadMessage::TYPE_PLAIN);
     $this->assertEquals(PayloadMessage::TYPE_PLAIN, $Message->getType());
     $Message->setType(PayloadMessage::TYPE_JSON);
     $this->assertEquals(PayloadMessage::TYPE_JSON, $Message->getType());
     $Message->setDelayWhileIdle(true);
     $this->assertTrue($Message->needDelayWhileIdle());
     $Message->setDelayWhileIdle(false);
     $this->assertFalse($Message->needDelayWhileIdle());
     $Message->setDryRun(true);
     $this->assertTrue($Message->isDryRun());
     $Message->setDryRun(false);
     $this->assertFalse($Message->isDryRun());
     $Message->setRestrictedPackageName('PACKageNAME');
     $this->assertEquals('PACKageNAME', $Message->getRestrictedPackageName());
     $this->assertTrue($Message->hasRestrictedPackageName());
     $Message->setType(PayloadMessage::TYPE_PLAIN);
     $Message->setRegistrationIds('REGistrationID');
     $this->assertEquals('REGistrationID', $Message->getRegistrationIds());
     $Message->setType(PayloadMessage::TYPE_JSON);
     $Message->setRegistrationIds(['REGistrationID1', 'REGistrationID2']);
     $this->assertEquals(['REGistrationID1', 'REGistrationID2'], $Message->getRegistrationIds());
     $Message->setTimeToLive(30.5);
     $this->assertEquals(30, $Message->getTimeToLive());
     $this->assertEquals(['registration_ids' => ['REGistrationID1', 'REGistrationID2'], 'delay_while_idle' => false, 'dry_run' => false, 'time_to_live' => 30, 'restricted_package_name' => 'PACKageNAME'], $Message->export());
 }