public function testHardReferenceDeleteSuccess()
{
$hardRefTestObj = new HardRefTestObj();
$refRefTestObj = new RefRefTestObj();
$hardRefTestObj->id = "/functional/hardRefTestObj";
$refRefTestObj->id = "/functional/refRefTestObj";
$refRefTestObj->name = "referenced";
$hardRefTestObj->reference = $refRefTestObj;
$this->dm->persist($hardRefTestObj);
$this->dm->flush();
$this->dm->clear();
$referrer = $this->dm->find($this->hardReferrerType, '/functional/hardRefTestObj');
$referenced = $this->dm->find($this->referencedType, '/functional/refRefTestObj');
$referrer->reference = null;
$this->dm->remove($referenced);
$this->dm->flush();
$this->dm->clear();
$this->assertFalse($this->session->getNode('/functional/hardRefTestObj')->hasProperty('reference'));
$this->assertFalse($this->session->getNode('/functional')->hasNode('refRefTestObj'));
}