public function testManyCascadeWithParentDelete()
{
$refManyTestObjForCascade = new RefManyWithParentTestObjForCascade();
$refManyTestObjForCascade->id = "/functional/refManyWithParentTestObjForCascade";
$references = array();
for ($i = 0; $i < 3; $i++) {
$newRefCascadeManyTestObj = new ParentTestObj();
$newRefCascadeManyTestObj->nodename = "ref{$i}";
$newRefCascadeManyTestObj->name = "refCascadeWithParentManyTestObj{$i}";
$references[] = $newRefCascadeManyTestObj;
}
$refManyTestObjForCascade->setReferences($references);
$this->dm->persist($refManyTestObjForCascade);
$this->dm->flush();
$this->dm->clear();
$this->assertTrue($this->session->getNode("/functional")->hasNode("refManyWithParentTestObjForCascade"));
for ($i = 0; $i < 3; $i++) {
$this->assertTrue($this->session->getNode("/functional/refManyWithParentTestObjForCascade")->hasNode("ref{$i}"));
}
$referrer = $this->dm->find($this->referrerManyWithParentForCascadeType, '/functional/refManyWithParentTestObjForCascade');
$this->dm->remove($referrer);
$this->dm->flush();
$this->assertFalse($this->session->getNode("/functional")->hasNode("refManyWithParentTestObjForCascade"));
}