/**
  * @test
  */
 public function it_creates_a_stream()
 {
     $testStream = $this->getTestStream();
     $this->adapter->beginTransaction();
     $this->adapter->create($testStream);
     $this->adapter->commit();
     $streamEvents = $this->adapter->loadEventsByMetadataFrom(new StreamName('Prooph\\Model\\User'), array('tag' => 'person'));
     $this->assertEquals(1, count($streamEvents));
     $this->assertEquals($testStream->streamEvents()[0]->uuid()->toString(), $streamEvents[0]->uuid()->toString());
     $this->assertEquals($testStream->streamEvents()[0]->createdAt()->format('Y-m-d\\TH:i:s.uO'), $streamEvents[0]->createdAt()->format('Y-m-d\\TH:i:s.uO'));
     $this->assertEquals('Prooph\\EventStoreTest\\Mock\\UserCreated', $streamEvents[0]->messageName());
     $this->assertEquals('*****@*****.**', $streamEvents[0]->payload()['email']);
     $this->assertEquals(1, $streamEvents[0]->version());
 }
 /**
  * @test
  */
 public function it_can_rewind_doctrine_stream_iterator()
 {
     $testStream = $this->getTestStream();
     $this->adapter->beginTransaction();
     $this->adapter->create($testStream);
     $this->adapter->commit();
     $result = $this->adapter->loadEvents(new StreamName('Prooph\\Model\\User'), ['tag' => 'person']);
     $this->assertNotNull($result->current());
     $this->assertEquals(0, $result->key());
     $result->next();
     $this->assertNull($result->current());
     $result->rewind();
     $this->assertNotNull($result->current());
     $this->assertEquals(0, $result->key());
     $result->next();
     $this->assertNull($result->current());
     $this->assertFalse($result->key());
 }