public function testConstructor()
 {
     $payload = new \stdClass();
     $message1 = new GenericCommandMessage($payload);
     $metaDataMap = array("key" => "value");
     $metaData = new MetaData($metaDataMap);
     $message2 = new GenericCommandMessage($payload, $metaData);
     $this->assertSame(MetaData::emptyInstance(), $message1->getMetaData());
     $this->assertEquals('stdClass', get_class($message1->getPayload()));
     $this->assertEquals('stdClass', $message1->getPayloadType());
     $this->assertSame($metaData, $message2->getMetaData());
     $this->assertEquals('stdClass', get_class($message2->getPayload()));
     $this->assertEquals('stdClass', $message2->getPayloadType());
     $this->assertFalse($message1->getIdentifier() === $message2->getIdentifier());
 }