getMockBuilder('random') ->disableOriginalConstructor() ->setMethods(array('helloToken')) ->getMock(); $token = \random::generatePassword(); $random ->expects($this->once()) ->method('helloToken') ->with(self::$DI['app'], $token) ->will($this->throwException(new \Exception_NotFound('Token not found'))); $constraint = new PasswordToken(self::$DI['app'], $random); $this->assertFalse($constraint->isValid($token)); } public function testValidTokenIsValid() { $random = $this ->getMockBuilder('random') ->disableOriginalConstructor() ->setMethods(array('helloToken')) ->getMock(); $token = \random::generatePassword(); $random ->expects($this->once()) ->method('helloToken') ->with(self::$DI['app'], $token) ->will($this->returnValue(array('usr_id' => mt_rand(), 'type' => \random::TYPE_PASSWORD))); $constraint = new PasswordToken(self::$DI['app'], $random); $this->assertTrue($constraint->isValid($token)); } }