3 namespace Doctrine\Tests\ORM\Functional;
5 use Doctrine\Common\Persistence\PersistentObject;
8 * Test that Doctrine ORM correctly works with the ObjectManagerAware and PersistentObject
13 class PersistentObjectTest extends \Doctrine\Tests\OrmFunctionalTestCase
15 protected function setUp()
19 $this->_schemaTool->createSchema(array(
20 $this->_em->getClassMetadata('Doctrine\Tests\ORM\Functional\PersistentEntity'),
22 } catch (\Exception $e) {
25 PersistentObject::setObjectManager($this->_em);
28 public function testPersist()
30 $entity = new PersistentEntity();
31 $entity->setName("test");
33 $this->_em->persist($entity);
37 public function testFind()
39 $entity = new PersistentEntity();
40 $entity->setName("test");
42 $this->_em->persist($entity);
46 $entity = $this->_em->find(__NAMESPACE__ . '\PersistentEntity', $entity->getId());
48 $this->assertEquals('test', $entity->getName());
49 $entity->setName('foobar');
54 public function testGetReference()
56 $entity = new PersistentEntity();
57 $entity->setName("test");
59 $this->_em->persist($entity);
63 $entity = $this->_em->getReference(__NAMESPACE__ . '\PersistentEntity', $entity->getId());
65 $this->assertEquals('test', $entity->getName());
68 public function testSetAssociation()
70 $entity = new PersistentEntity();
71 $entity->setName("test");
72 $entity->setParent($entity);
74 $this->_em->persist($entity);
78 $entity = $this->_em->getReference(__NAMESPACE__ . '\PersistentEntity', $entity->getId());
79 $this->assertSame($entity, $entity->getParent());
86 class PersistentEntity extends PersistentObject
89 * @Id @Column(type="integer") @GeneratedValue
95 * @Column(type="string")
101 * @ManyToOne(targetEntity="PersistentEntity")
102 * @var PersistentEntity