Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC1113Test.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Functional\Ticket;
4
5 use Doctrine\Common\Collections\ArrayCollection;
6
7 require_once __DIR__ . '/../../../TestInit.php';
8
9 /**
10  * @group DDC-1113
11  * @group DDC-1306
12  */
13 class DDC1113Test extends \Doctrine\Tests\OrmFunctionalTestCase
14 {
15
16     public function setUp()
17     {
18         parent::setUp();
19         try {
20             $this->_schemaTool->createSchema(array(
21                 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1113Engine'),
22                 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1113Vehicle'),
23                 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1113Car'),
24                 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1113Bus'),
25             ));
26         } catch (\Exception $e) {
27
28         }
29     }
30
31     public function testIssue()
32     {
33         $car = new DDC1113Car();
34         $car->engine = new DDC1113Engine();
35
36         $bus = new DDC1113Bus();
37         $bus->engine = new DDC1113Engine();
38
39         $this->_em->persist($car);
40         $this->_em->flush();
41
42         $this->_em->persist($bus);
43         $this->_em->flush();
44
45         $this->_em->remove($bus);
46         $this->_em->remove($car);
47         $this->_em->flush();
48     }
49
50 }
51
52 /**
53  * @Entity
54  * @InheritanceType("SINGLE_TABLE")
55  * @DiscriminatorMap({"car" = "DDC1113Car", "bus" = "DDC1113Bus"})
56  */
57 class DDC1113Vehicle
58 {
59
60     /** @Id @GeneratedValue @Column(type="integer") */
61     public $id;
62
63     /**
64      * @ManyToOne(targetEntity="DDC1113Vehicle")
65      */
66     public $parent;
67
68     /** @OneToOne(targetEntity="DDC1113Engine", cascade={"persist", "remove"}) */
69     public $engine;
70
71 }
72
73 /**
74  * @Entity
75  */
76 class DDC1113Car extends DDC1113Vehicle
77 {
78
79 }
80
81 /**
82  * @Entity
83  */
84 class DDC1113Bus extends DDC1113Vehicle
85 {
86
87 }
88
89 /**
90  * @Entity
91  */
92 class DDC1113Engine
93 {
94
95     /** @Id @GeneratedValue @Column(type="integer") */
96     public $id;
97
98 }
99