3 namespace Doctrine\Tests\ORM\Functional;
5 require_once __DIR__ . '/../../TestInit.php';
12 class MappedSuperclassTest extends \Doctrine\Tests\OrmFunctionalTestCase
14 protected function setUp() {
15 $this->useModelSet('directorytree');
19 public function testCRUD()
21 $root = new \Doctrine\Tests\Models\DirectoryTree\Directory();
22 $root->setName('Root');
23 $root->setPath('/root');
25 $directory = new \Doctrine\Tests\Models\DirectoryTree\Directory($root);
26 $directory->setName('TestA');
27 $directory->setPath('/root/dir');
29 $file = new \Doctrine\Tests\Models\DirectoryTree\File($directory);
30 $file->setName('test-b.html');
32 $this->_em->persist($root);
33 $this->_em->persist($directory);
34 $this->_em->persist($file);
39 $cleanFile = $this->_em->find(get_class($file), $file->getId());
41 $this->assertInstanceOf('Doctrine\Tests\Models\DirectoryTree\Directory', $cleanFile->getParent());
42 $this->assertInstanceOf('Doctrine\ORM\Proxy\Proxy', $cleanFile->getParent());
43 $this->assertEquals($directory->getId(), $cleanFile->getParent()->getId());
44 $this->assertInstanceOf('Doctrine\Tests\Models\DirectoryTree\Directory', $cleanFile->getParent()->getParent());
45 $this->assertEquals($root->getId(), $cleanFile->getParent()->getParent()->getId());