public function testRemoveAll() { $user1 = new ShortUrl_Model_User(); $user2 = new ShortUrl_Model_User(); $user3 = new ShortUrl_Model_User(); $group1 = new ShortUrl_Model_Group(); $group2 = new ShortUrl_Model_Group(); $group1->addMember($user1); $group1->addAdmin($user2); $group1->addMember($user3); $group2->addAdmin($user2); $this->assertTrue($user1->isMemberOf($group1)); $this->assertFalse($user1->isAdminOf($group1)); $this->assertFalse($user1->isMemberOf($group2)); $this->assertFalse($user1->isAdminOf($group2)); $this->assertTrue($user2->isMemberOf($group1)); $this->assertTrue($user2->isAdminOf($group1)); $this->assertTrue($user2->isMemberOf($group2)); $this->assertTrue($user2->isAdminOf($group2)); $this->assertTrue($user3->isMemberOf($group1)); $this->assertFalse($user3->isAdminOf($group1)); $this->assertFalse($user3->isMemberOf($group2)); $this->assertFalse($user3->isAdminOf($group2)); // Everthing Set up properly $user1->removeAllAdmin(); // Should affect nothing! $this->assertTrue($user1->isMemberOf($group1)); $this->assertFalse($user1->isAdminOf($group1)); $this->assertFalse($user1->isMemberOf($group2)); $this->assertFalse($user1->isAdminOf($group2)); $this->assertTrue($user2->isMemberOf($group1)); $this->assertTrue($user2->isAdminOf($group1)); $this->assertTrue($user2->isMemberOf($group2)); $this->assertTrue($user2->isAdminOf($group2)); $this->assertTrue($user3->isMemberOf($group1)); $this->assertFalse($user3->isAdminOf($group1)); $this->assertFalse($user3->isMemberOf($group2)); $this->assertFalse($user3->isAdminOf($group2)); // Remove user2 as admin $user2->removeAllAdmin(); // Should affect nothing! $this->assertTrue($user1->isMemberOf($group1)); $this->assertFalse($user1->isAdminOf($group1)); $this->assertFalse($user1->isMemberOf($group2)); $this->assertFalse($user1->isAdminOf($group2)); $this->assertTrue($user2->isMemberOf($group1)); $this->assertFalse($user2->isAdminOf($group1)); $this->assertTrue($user2->isMemberOf($group2)); $this->assertFalse($user2->isAdminOf($group2)); $this->assertTrue($user3->isMemberOf($group1)); $this->assertFalse($user3->isAdminOf($group1)); $this->assertFalse($user3->isMemberOf($group2)); $this->assertFalse($user3->isAdminOf($group2)); // remove user2 completely $group1->addAdmin($user2); $this->assertTrue($user1->isMemberOf($group1)); $this->assertFalse($user1->isAdminOf($group1)); $this->assertFalse($user1->isMemberOf($group2)); $this->assertFalse($user1->isAdminOf($group2)); $this->assertTrue($user2->isMemberOf($group1)); $this->assertTrue($user2->isAdminOf($group1)); $this->assertTrue($user2->isMemberOf($group2)); $this->assertFalse($user2->isAdminOf($group2)); $this->assertTrue($user3->isMemberOf($group1)); $this->assertFalse($user3->isAdminOf($group1)); $this->assertFalse($user3->isMemberOf($group2)); $this->assertFalse($user3->isAdminOf($group2)); // Remove user 2 completely $user2->removeAllMember(); $this->assertTrue($user1->isMemberOf($group1)); $this->assertFalse($user1->isAdminOf($group1)); $this->assertFalse($user1->isMemberOf($group2)); $this->assertFalse($user1->isAdminOf($group2)); $this->assertFalse($user2->isMemberOf($group1)); $this->assertFalse($user2->isAdminOf($group1)); $this->assertFalse($user2->isMemberOf($group2)); $this->assertFalse($user2->isAdminOf($group2)); $this->assertTrue($user3->isMemberOf($group1)); $this->assertFalse($user3->isAdminOf($group1)); $this->assertFalse($user3->isMemberOf($group2)); $this->assertFalse($user3->isAdminOf($group2)); }