function testPageMemberRetrievalFunctions()
 {
     $sc = SiteConfig::current_site_config();
     $sc->CanPublishType = 'OnlyTheseUsers';
     $sc->PublisherGroups()->removeAll();
     $sc->PublisherGroups()->add($this->objFromFixture('Group', 'customauthorsgroup'));
     $sc->write();
     $page = new Page();
     // Test inherit
     $page->CanPublishType = 'Inherit';
     $compare1 = $page->PublisherMembers()->column('Email');
     $compare2 = array('*****@*****.**', '*****@*****.**');
     sort($compare1);
     sort($compare2);
     $this->assertEquals($compare1, $compare2);
     // Test specific groups
     $page->CanPublishType = 'OnlyTheseUsers';
     $pEmails = $page->PublisherMembers()->column('Email');
     $this->assertTrue(in_array(strtolower($pEmails[0]), array('*****@*****.**', '*****@*****.**')), 'With CanPublishType set to OnlyTheseUsers, but no groups set up, should return admins');
     $page->PublisherGroups()->add($this->objFromFixture('Group', 'custompublishergroup'));
     $this->assertEquals($page->PublisherMembers()->column('Email'), array('*****@*****.**'));
     $page->CanPublishType = 'Inherit';
     $page->write();
     // Test passthru methods
     $this->assertTrue($page->canPublish($this->objFromFixture('Member', 'customauthor')));
     $this->assertTrue($page->canApprove($this->objFromFixture('Member', 'customauthor')));
     $this->assertTrue($page->canRequestEdit($this->objFromFixture('Member', 'customauthor')));
     // Test 'all' users
     $page->CanPublishType = 'LoggedInUsers';
     $this->assertEquals(4, $page->PublisherMembers()->Count(), 'PublisherMembers returns the 4 users that have CMS access');
 }