/** * @dataProvider diffDataProvider */ public function testDiff($list, $fixedPropertyRecord, $expectedOrdered, $expectedList) { $instance = new CompositePropertyTableDiffIterator($list); $instance->addFixedPropertyRecord($fixedPropertyRecord[0], $fixedPropertyRecord[1]); $this->assertInternalType('array', $instance->getFixedPropertyRecords()); $this->assertEquals($expectedOrdered, $instance->getOrderedDiffByTable()); $this->assertEquals($expectedList, $instance->getCombinedIdListOfChangedEntities()); }
/** * @since 2.3 * * @param CompositePropertyTableDiffIterator $compositePropertyTableDiffIterator * @param array $propertyDependencyDetectionBlacklist * * @return array */ public function buildParserCachePurgeJobParametersFrom(CompositePropertyTableDiffIterator $compositePropertyTableDiffIterator, array $propertyDependencyDetectionBlacklist) { if (!$this->isEnabled()) { return array(); } $mapCombinedIdListOfChangedEntities = array_flip($compositePropertyTableDiffIterator->getCombinedIdListOfChangedEntities()); $mapPropertyDependencyDetectionBlacklist = array_flip($propertyDependencyDetectionBlacklist); foreach ($compositePropertyTableDiffIterator->getFixedPropertyRecords() as $table => $record) { if (!isset($mapPropertyDependencyDetectionBlacklist[$record['key']])) { continue; } $this->removeBlacklistedPropertyReferencesFromParserCachePurgeJobChangeList($compositePropertyTableDiffIterator, $mapCombinedIdListOfChangedEntities, $table, $record); } return array('idlist' => array_keys($mapCombinedIdListOfChangedEntities)); }