public function testIgnoresDuplicateRemovedInstances() { $object = new stdClass(); $this->assertInstanceOf('ChangeSet\\Change', $this->changeSet->remove($object)); $this->assertNull($this->changeSet->remove($object)); $this->assertCount(1, $this->changeSet->getRemoved(), 'Further duplicate removed instances are ignored'); }
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()); } }