/** * @dataProvider getOrderedStepsDataProvider */ public function testGetOrderedSteps(array $actualSteps, array $expectedSteps) { $steps = StepSorter::getOrderedSteps($actualSteps); $actual = array_map(array($this, 'getClassName'), $steps); $expected = array_map(array($this, 'getClassName'), $expectedSteps); $this->assertEquals($expected, $actual); }
/** * Merge entities * * @param EntityData $data */ public function merge(EntityData $data) { $this->eventDispatcher->dispatch(MergeEvents::BEFORE_MERGE_ENTITY, new EntityDataEvent($data)); foreach (StepSorter::getOrderedSteps($this->steps) as $step) { $step->run($data); } $this->eventDispatcher->dispatch(MergeEvents::AFTER_MERGE_ENTITY, new EntityDataEvent($data)); }