/**
* @dataProvider entityManagerDataProvider
* @param EntityManager $em
*/
public function testRebuildIndicesManyToMany(EntityManager $em)
{
$charlie = new Charlie();
$charlie->setId('charlie')->setName('Charlie');
$delta = new Delta();
$delta->setId('delta')->setName('Delta');
$charlie->setDelta([$delta]);
$em->persist($charlie)->persist($delta)->flush();
$c = $em->retrieve(Charlie::class, 'charlie');
$this->assertEquals('Charlie', $c->getName());
$this->assertCount(1, $c->getDelta());
/** @var Delta $d */
$d = $c->getDelta()[0];
$this->assertEquals('Delta', $d->getName());
$maintenance = new Maintenance($em);
$maintenance->rebuild(CharlieRevised::class);
/** @var DeltaRevised $d */
$d = $em->retrieve(DeltaRevised::class, 'delta');
$this->assertEquals('Delta', $d->getName());
$this->assertCount(1, $d->getCharlie());
/** @var CharlieRevised $c */
$c = $d->getCharlie()[0];
$this->assertEquals('Charlie', $c->getName());
}