/**
  * @inheritdoc
  */
 public function process(UnitOfWork $uow)
 {
     $co = CommitOrderCalculator::getCommitOrderFromMetadata($this->metadataFactory);
     $set = self::prepareCommitOrderArray($co);
     $this->executeInserts($uow, $set);
     $this->executeUpdateDeletes($uow, $set);
 }
 /**
  * @test
  */
 public function verify_commit_ordering_from_metadata()
 {
     $dm = $this->createDocumentManager([], ['test/Doctrine/ODM/OrientDB/Tests/Document/Stub/Linked']);
     $mdf = $dm->getMetadataFactory();
     $sorted = CommitOrderCalculator::getCommitOrderFromMetadata($mdf);
     $expected = [Contact::class, Phone::class, EmailAddress::class];
     $this->assertSame($expected, $sorted);
 }