public function testManyCascadeChangeOne()
{
$refManyTestObjForCascade = new RefManyTestObjForCascade();
$refManyTestObjForCascade->id = "/functional/refManyTestObjForCascade";
$max = 5;
for ($i = 0; $i < $max; $i++) {
$newRefCascadeManyTestObj = new RefCascadeManyTestObj();
$newRefCascadeManyTestObj->id = "/functional/refCascadeManyTestObj{$i}";
$newRefCascadeManyTestObj->name = "refCascadeManyTestObj{$i}";
$refManyTestObjForCascade->references[] = $newRefCascadeManyTestObj;
}
$j = 0;
foreach ($refManyTestObjForCascade->references as $reference) {
for ($i = 0; $i < $max; $i++) {
$newRefRefTestObj = new RefRefTestObj();
$newRefRefTestObj->id = "/functional/refRefTestObj{$j}{$i}";
$newRefRefTestObj->name = "refRefTestObj{$j}{$i}";
$reference->references[] = $newRefRefTestObj;
}
$j++;
}
$this->dm->persist($refManyTestObjForCascade);
$this->dm->flush();
$this->dm->clear();
$referrer = $this->dm->find($this->referrerManyForCascadeType, '/functional/refManyTestObjForCascade');
$pos1 = 1;
$pos2 = 2;
$referrer->references[$pos1]->references[$pos2]->name = "new name";
$this->dm->flush();
$this->assertEquals("new name", $this->session->getNode("/functional/refRefTestObj{$pos1}{$pos2}")->getPropertyValue("name"));
}