Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC1404Test.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Functional\Ticket;
4
5 require_once __DIR__ . '/../../../TestInit.php';
6
7 /**
8  * @group DDC-1404
9  */
10 class DDC1404Test extends \Doctrine\Tests\OrmFunctionalTestCase
11 {
12
13     protected function setUp()
14     {
15         parent::setUp();
16
17         try {
18             $this->_schemaTool->createSchema(array(
19                 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1404ParentEntity'),
20                 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1404ChildEntity'),
21             ));
22
23             $this->loadFixtures();
24
25         } catch (Exception $exc) {
26         }
27     }
28
29     public function testTicket()
30     {
31         $repository     = $this->_em->getRepository(__NAMESPACE__ . '\DDC1404ChildEntity');
32         $queryAll       = $repository->createNamedQuery('all');
33         $queryFirst     = $repository->createNamedQuery('first');
34         $querySecond    = $repository->createNamedQuery('second');
35
36
37         $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p', $queryAll->getDQL());
38         $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p WHERE p.id = 1', $queryFirst->getDQL());
39         $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p WHERE p.id = 2', $querySecond->getDQL());
40
41
42         $this->assertEquals(sizeof($queryAll->getResult()), 2);
43         $this->assertEquals(sizeof($queryFirst->getResult()), 1);
44         $this->assertEquals(sizeof($querySecond->getResult()), 1);
45     }
46
47
48     public function loadFixtures()
49     {
50         $c1 = new DDC1404ChildEntity("ChildEntity 1");
51         $c2 = new DDC1404ChildEntity("ChildEntity 2");
52
53         $this->_em->persist($c1);
54         $this->_em->persist($c2);
55
56         $this->_em->flush();
57     }
58
59 }
60
61 /**
62  * @MappedSuperclass
63  *
64  * @NamedQueries({
65  *      @NamedQuery(name="all",     query="SELECT p FROM __CLASS__ p"),
66  *      @NamedQuery(name="first",   query="SELECT p FROM __CLASS__ p WHERE p.id = 1"),
67  * })
68  */
69 class DDC1404ParentEntity
70 {
71
72     /**
73      * @Id
74      * @Column(type="integer")
75      * @GeneratedValue()
76      */
77     protected $id;
78
79     /**
80      * @return integer
81      */
82     public function getId()
83     {
84         return $this->id;
85     }
86
87 }
88
89 /**
90  * @Entity
91  *
92  * @NamedQueries({
93  *      @NamedQuery(name="first",   query="SELECT p FROM __CLASS__ p WHERE p.id = 1"),
94  *      @NamedQuery(name="second",  query="SELECT p FROM __CLASS__ p WHERE p.id = 2")
95  * })
96  */
97 class DDC1404ChildEntity extends DDC1404ParentEntity
98 {
99
100     /**
101      * @column(type="string")
102      */
103     private $name;
104
105     /**
106      * @param string $name
107      */
108     public function __construct($name)
109     {
110         $this->name = $name;
111     }
112
113     /**
114      * @return string
115      */
116     public function getName()
117     {
118         return $this->name;
119     }
120
121     /**
122      * @param string $name
123      */
124     public function setName($name)
125     {
126         $this->name = $name;
127     }
128
129 }