/**
  * @return EventContainer
  */
 private function getEventContainer()
 {
     if (null === $this->eventContainer) {
         if (null === $this->getIdentifier()) {
             throw new AggregateRootIdNotInitialized("Aggregate Id unknown in [" . get_class($this) . "] Make sure the Aggregate Id is initialized before registering events.");
         }
         $this->eventContainer = new EventContainer($this->getIdentifier());
         $this->eventContainer->initializeSequenceNumber($this->lastEventScn);
     }
     return $this->eventContainer;
 }
 public function testAddEventIdAndSequenceNumberInitialized()
 {
     $id = Uuid::uuid1();
     $eventContainer = new EventContainer($id);
     $this->assertEquals($id, $eventContainer->getAggregateIdentifier());
     $eventContainer->initializeSequenceNumber(11);
     $this->assertEquals(0, $eventContainer->size());
     $this->assertFalse($eventContainer->getEventStream()->hasNext());
     $eventContainer->addEvent(MetaData::emptyInstance(), new Event());
     $this->assertEquals(1, $eventContainer->size());
     $domainEvent = $eventContainer->getEventList()[0];
     $this->assertEquals(12, $domainEvent->getScn());
     $this->assertEquals($id, $domainEvent->getAggregateIdentifier());
     $this->assertTrue($eventContainer->getEventStream()->hasNext());
     $eventContainer->commit();
     $this->assertEquals(0, $eventContainer->size());
 }