Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC1778Test.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Functional\Ticket;
4
5 use Doctrine\Tests\Models\CMS\CmsUser;
6 use Doctrine\Tests\Models\CMS\CmsPhonenumber;
7
8 /**
9  * @group DDC-1778
10  */
11 class DDC1778Test extends \Doctrine\Tests\OrmFunctionalTestCase
12 {
13     private $user;
14     private $phone;
15
16     public function setUp()
17     {
18         $this->useModelSet('cms');
19         parent::setUp();
20
21         $this->user = new CmsUser();
22         $this->user->username = "beberlei";
23         $this->user->name = "Benjamin";
24         $this->user->status = "active";
25
26         $this->phone = new CmsPhoneNumber();
27         $this->phone->phonenumber = '0123456789';
28         $this->user->addPhoneNumber($this->phone);
29
30         $this->_em->persist($this->user);
31         $this->_em->persist($this->phone);
32         $this->_em->flush();
33         $this->_em->clear();
34
35         $this->user = $this->_em->find('Doctrine\\Tests\\Models\\CMS\\CmsUser', $this->user->getId());
36         $this->phone = $this->_em->find('Doctrine\\Tests\\Models\\CMS\\CmsPhonenumber', $this->phone->phonenumber);
37     }
38
39     public function testClear()
40     {
41         $clonedNumbers = clone $this->user->getPhonenumbers();
42         $clonedNumbers->clear();
43         $this->_em->flush();
44         $this->_em->clear();
45
46         $this->user = $this->_em->find('Doctrine\\Tests\\Models\\CMS\\CmsUser', $this->user->getId());
47
48         $this->assertCount(1, $this->user->getPhonenumbers());
49     }
50
51     public function testRemove()
52     {
53         $clonedNumbers = clone $this->user->getPhonenumbers();
54         $clonedNumbers->remove(0);
55         $this->_em->flush();
56         $this->_em->clear();
57
58         $this->user = $this->_em->find('Doctrine\\Tests\\Models\\CMS\\CmsUser', $this->user->getId());
59
60         $this->assertCount(1, $this->user->getPhonenumbers());
61     }
62
63     public function testRemoveElement()
64     {
65         $clonedNumbers = clone $this->user->getPhonenumbers();
66         $clonedNumbers->removeElement($this->phone);
67         $this->_em->flush();
68         $this->_em->clear();
69
70         $this->user = $this->_em->find('Doctrine\\Tests\\Models\\CMS\\CmsUser', $this->user->getId());
71
72         $this->assertCount(1, $this->user->getPhonenumbers());
73     }
74 }