public function testWeakReference()
{
$weakRefTestObj = new WeakRefTestObj();
$refRefTestObj = new RefRefTestObj();
$weakRefTestObj->id = "/functional/weakRefTestObj";
$refRefTestObj->id = "/functional/refRefTestObj";
$refRefTestObj->name = "referenced";
$weakRefTestObj->reference = $refRefTestObj;
$this->dm->persist($weakRefTestObj);
$this->dm->flush();
$this->dm->clear();
$referenced = $this->dm->find($this->referencedType, '/functional/refRefTestObj');
$this->dm->remove($referenced);
$this->dm->flush();
$this->dm->clear();
$this->assertTrue($this->session->getNode('/functional/weakRefTestObj')->hasProperty('reference'));
$this->assertFalse($this->session->getNode('/functional')->hasNode('refRefTestObj'));
}