DDC849Test.php 2.4 KB

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