public function testManyToManyToCTIHierarchy()
 {
     //$this->_em->getConnection()->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\EchoSQLLogger());
     $mmrel = new CTIRelated2();
     $child = new CTIChild();
     $child->setData('child');
     $mmrel->addCTIChild($child);
     $this->_em->persist($mmrel);
     $this->_em->persist($child);
     $this->_em->flush();
     $this->_em->clear();
     $mmrel2 = $this->_em->find(get_class($mmrel), $mmrel->getId());
     $this->assertFalse($mmrel2->getCTIChildren()->isInitialized());
     $this->assertEquals(1, count($mmrel2->getCTIChildren()));
     $this->assertTrue($mmrel2->getCTIChildren()->isInitialized());
     $this->assertInstanceOf('Doctrine\\Tests\\ORM\\Functional\\CTIChild', $mmrel2->getCTIChildren()->get(0));
 }
 public function testOneToOneAssocToBaseTypeBidirectional()
 {
     $child = new CTIChild();
     $child->setData('hello');
     $related = new CTIRelated();
     $related->setCTIParent($child);
     $this->_em->persist($related);
     $this->_em->persist($child);
     $this->_em->flush();
     $this->_em->clear();
     $relatedId = $related->getId();
     $related2 = $this->_em->find('Doctrine\\Tests\\ORM\\Functional\\CTIRelated', $relatedId);
     $this->assertTrue($related2 instanceof CTIRelated);
     $this->assertTrue($related2->getCTIParent() instanceof CTIChild);
     $this->assertFalse($related2->getCTIParent() instanceof \Doctrine\ORM\Proxy\Proxy);
     $this->assertEquals('hello', $related2->getCTIParent()->getData());
     $this->assertSame($related2, $related2->getCTIParent()->getRelated());
 }