/**
  * @covers Governor\Framework\Domain\GenericDomainEventMessage::__construct
  */
 public function testConstructor()
 {
     $payload = new Payload();
     $seqNo = 0;
     $id = Uuid::uuid1();
     $message1 = new GenericDomainEventMessage($id, $seqNo, $payload, MetaData::emptyInstance());
     $metaData = new Metadata(['key' => 'value']);
     $message2 = new GenericDomainEventMessage($id, $seqNo, $payload, $metaData);
     $this->assertSame($id, $message1->getAggregateIdentifier());
     $this->assertEquals($seqNo, $message1->getScn());
     $this->assertSame(MetaData::emptyInstance(), $message1->getMetaData());
     $this->assertEquals(get_class($payload), get_class($message1->getPayload()));
     $this->assertEquals(get_class($payload), $message1->getPayloadType());
     $this->assertSame($id, $message2->getAggregateIdentifier());
     $this->assertEquals($seqNo, $message2->getScn());
     $this->assertSame($metaData, $message2->getMetaData());
     $this->assertEquals(get_class($payload), get_class($message2->getPayload()));
     $this->assertEquals(get_class($payload), $message2->getPayloadType());
     $this->assertNotEquals($message1->getIdentifier(), $message2->getIdentifier());
 }