loadFromString(''); self::$mgr=new TUserManager(); self::$mgr->init($config); } } public function tearDown() { } public function testConstruct() { $user = new TUser (self::$mgr); self::assertEquals('Guest', $user->getName()); self::assertEquals(self::$mgr, $user->getManager()); } public function testManager() { $user = new TUser (self::$mgr); self::assertEquals(self::$mgr, $user->getManager()); } public function testName() { $user = new TUser (self::$mgr); $user->setName('joe'); self::assertEquals('joe', $user->getName()); } public function testIsGuest() { $user = new TUser (self::$mgr); $user->setName('John'); $user->setIsGuest(false); $user->setRoles('Administrator, Writer'); self::assertFalse($user->getIsGuest()); $user->setIsGuest(true); self::assertTrue($user->getIsGuest()); self::assertEquals(array(),$user->getRoles()); } public function testRoles() { $user=new TUser(self::$mgr); $user->setRoles(array('Administrator','Writer')); self::assertEquals(array('Administrator','Writer'), $user->getRoles()); $user->setRoles('Reader,User'); self::assertEquals(array('Reader','User'), $user->getRoles()); } public function testIsInRole() { $user=new TUser(self::$mgr); $user->setRoles(array('Administrator','Writer')); // Roles are case insensitive self::assertTrue($user->IsInRole('writer')); self::assertTrue($user->IsInRole('Writer')); self::assertFalse($user->isInRole('Reader')); } public function testSaveToString() { $user = new TUser (self::$mgr); $user->setName('John'); $user->setIsGuest(false); $user->setRoles('Administrator, Writer'); // State array should now be : $assumedState=array ('Name' => 'John', 'IsGuest' => false, 'Roles' => array ('Administrator', 'Writer')); self::assertEquals(serialize($assumedState), $user->saveToString()); } public function testLoadFromString() { $user = new TUser (self::$mgr); $user->setName('John'); $user->setIsGuest(false); $user->setRoles('Administrator, Writer'); $save=$user->saveToString(); $user2 = new TUser (self::$mgr); $user2->loadFromString($save); self::assertEquals($user, $user2); } /* getState & setState are protected methods, will be tested with other tests. public function testState() { throw new PHPUnit_Framework_IncompleteTestError(); } */ public function testStateChanged() { $user = new TUser (self::$mgr); $user->setName('John'); self::assertTrue($user->getStateChanged()); $user->setStateChanged(false); self::assertFalse($user->getStateChanged()); } }