public function testEntityIsPersisted() { $Entity = $this->Entity(null); $this->UnitOfWork->Persist($Entity); $this->assertCount(1, $this->UnitOfWork->GetPersistenceData()); $this->assertArrayHasKey(self::EntityType, $this->UnitOfWork->GetPersistenceDataGroups()); $this->assertCount(1, $this->UnitOfWork->GetPersistenceDataGroups()[self::EntityType]); }
/** * @access private * * Maps a unit of work instance to the transactional equivalent. * * @param Object\UnitOfWork $UnitOfWork The unit of work to map * @param Relational\Transaction $Transaction The transaction to map to * @return void */ private function MapUnitOfWorkToTransaction(Object\UnitOfWork $UnitOfWork, Relational\Transaction $Transaction) { foreach ($UnitOfWork->GetPersistenceDataGroups() as $EntityType => $PersistenceDataGroup) { $this->MapPersistenceDataToTransaction($UnitOfWork, $Transaction, $PersistenceDataGroup); } foreach ($UnitOfWork->GetExecutedProcedures() as $Procedure) { $Transaction->Execute($this->MapProcedure($Procedure)); } foreach ($UnitOfWork->GetDiscardenceDataGroups() as $EntityType => $DiscardedIdentityGroup) { $EntityRelationalMap = $this->EntityRelationMaps[$EntityType]; $ResultRows = $this->MapEntityDataToTransaction($UnitOfWork, $Transaction, $EntityRelationalMap, $DiscardedIdentityGroup); foreach ($ResultRows as $ResultRow) { $Transaction->DiscardAll($ResultRow->GetPrimaryKeys()); } } foreach ($UnitOfWork->GetDiscardedCriteria() as $DiscardedCriterion) { $Transaction->DiscardWhere($this->MapObjectCriterion($DiscardedCriterion)); } }