Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC849Test.php
1 <?php
2
3 namespace Doctrine\Tests\ORM\Functional\Ticket;
4
5 use Doctrine\Common\Collections\ArrayCollection;
6 use Doctrine\Tests\Models\CMS\CmsUser;
7 use Doctrine\Tests\Models\CMS\CmsGroup;
8
9 require_once __DIR__ . '/../../../TestInit.php';
10
11 class DDC849Test extends \Doctrine\Tests\OrmFunctionalTestCase
12 {
13     private $user;
14     private $group1;
15     private $group2;
16
17     public function setUp()
18     {
19         $this->useModelSet('cms');
20         parent::setUp();
21
22         $this->user = new CmsUser();
23         $this->user->username = "beberlei";
24         $this->user->name = "Benjamin";
25         $this->user->status = "active";
26
27         $this->group1 = new CmsGroup();
28         $this->group1->name = "Group 1";
29         $this->group2 = new CmsGroup();
30         $this->group2->name = "Group 2";
31
32         $this->user->addGroup($this->group1);
33         $this->user->addGroup($this->group2);
34
35         $this->_em->persist($this->user);
36         $this->_em->persist($this->group1);
37         $this->_em->persist($this->group2);
38
39         $this->_em->flush();
40         $this->_em->clear();
41
42         $this->user = $this->_em->find('Doctrine\Tests\Models\CMS\CmsUser', $this->user->getId());
43     }
44
45     public function testRemoveContains()
46     {
47         $group1 = $this->user->groups[0];
48         $group2 = $this->user->groups[1];
49
50         $this->assertTrue($this->user->groups->contains($group1));
51         $this->assertTrue($this->user->groups->contains($group2));
52
53         $this->user->groups->removeElement($group1);
54         $this->user->groups->remove(1);
55
56         $this->assertFalse($this->user->groups->contains($group1));
57         $this->assertFalse($this->user->groups->contains($group2));
58     }
59
60     public function testClearCount()
61     {
62         $this->user->addGroup(new CmsGroup);
63         $this->assertEquals(3, count($this->user->groups));
64
65         $this->user->groups->clear();
66
67         $this->assertEquals(0, $this->user->groups->count());
68         $this->assertEquals(0, count($this->user->groups));
69     }
70
71     public function testClearContains()
72     {
73         $group1 = $this->user->groups[0];
74         $group2 = $this->user->groups[1];
75
76         $this->assertTrue($this->user->groups->contains($group1));
77         $this->assertTrue($this->user->groups->contains($group2));
78
79         $this->user->groups->clear();
80
81         $this->assertFalse($this->user->groups->contains($group1));
82         $this->assertFalse($this->user->groups->contains($group2));
83     }
84 }