public function commit(ChangeMap $changeSet) { $this->operations = array(); foreach ($changeSet->getNew() as $insert) { $this->addChange('insert', $insert->getObject()); } foreach ($changeSet->getChangedManaged() as $update) { $this->addChange('update', $update->getObject()); } foreach ($changeSet->getRemoved() as $delete) { $this->addChange('delete', $delete->getObject()); } }
public function testClean() { $new = new stdClass(); $managed = new stdClass(); $removed = new stdClass(); $this->changeSet->add($new); $this->changeSet->register($managed); $this->changeSet->remove($removed); $cleanedChangeSet = $this->changeSet->clean(); $this->assertInstanceOf(get_class($cleanedChangeSet), $cleanedChangeSet); $this->assertNotSame($this->changeSet, $cleanedChangeSet); $this->assertTrue($cleanedChangeSet->isTracking($new)); $this->assertTrue($cleanedChangeSet->isTracking($managed)); $this->assertFalse($cleanedChangeSet->isTracking($removed), 'Removed instances were completely removed'); }