4require_once 
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentRegistry.php';
 
   25        $this->storage = array();
 
   37        require_once 
'Services/Administration/classes/class.ilSetting.php';
 
   38        $settingsMock = $this->getMockBuilder(
'ilSetting')->disableOriginalConstructor()->setMethods(array(
'set', 
'get', 
'delete'))->getMock();
 
   40        $settingsMock->expects($this->any())->method(
'set')->will(
 
   41            $this->returnCallback(
function (
$key, $value) {
 
   42                $this->storage[
$key] = $value;
 
   46        $settingsMock->expects($this->any())->method(
'get')->will(
 
   47            $this->returnCallback(
function (
$key, $value) {
 
   48                return isset($this->storage[
$key]) ? $this->storage[
$key] : $value;
 
   52        $settingsMock->expects($this->any())->method(
'delete')->will(
 
   53            $this->returnCallback(
function (
$key, $value) {
 
   54                if (isset($this->storage[
$key])) {
 
   55                    unset($this->storage[
$key]);
 
   60        $valueToTest = $preCallback($value);
 
   62        $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
 
   63        $registry->setChunkSize($chunkSize);
 
   64        $registry->setStringifiedImports(self::TEST_KEY, $valueToTest);
 
   65        $actual = $registry->getStringifiedImports(self::TEST_KEY);
 
   67        $this->assertEquals($valueToTest, $actual);
 
   68        $this->assertEquals($value, $postCallback($actual));
 
   76        require_once 
'Services/Administration/classes/class.ilSetting.php';
 
   77        $settingsMock = $this->getMockBuilder(
'ilSetting')->disableOriginalConstructor()->setMethods(array(
'set', 
'get', 
'delete'))->getMock();
 
   80            $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
 
   81            $registry->setChunkSize(
"a");
 
   82            $this->fail(
"Failed asserting that exception of type \"InvalidArgumentException\" is thrown.");
 
   83        } 
catch (\InvalidArgumentException $e) {
 
   87            $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
 
   88            $registry->setChunkSize(-5);
 
   89            $this->fail(
"Failed asserting that exception of type \"InvalidArgumentException\" is thrown.");
 
   90        } 
catch (\InvalidArgumentException $e) {
 
  103        require_once 
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImportList.php';
 
  104        require_once 
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImport.php';
 
  105        require_once 
'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignment.php';
 
  106        $assignmentList = new \ilAssQuestionSkillAssignmentImportList();
 
  108        for (
$i = 0; 
$i < 5; 
$i++) {
 
  109            $assignment = new \ilAssQuestionSkillAssignmentImport();
 
  111            $assignment->setImportSkillTitle(
'phpunit' . 
$i);
 
  112            $assignment->setImportSkillPath(
'phpunit' . 
$i);
 
  113            $random = new \ilRandom();
 
  114            $assignment->setSkillPoints($random->int(0, PHP_INT_MAX));
 
  115            $assignment->setImportQuestionId($random->int(0, PHP_INT_MAX));
 
  116            $assignment->setImportSkillBaseId($random->int(0, PHP_INT_MAX));
 
  117            $assignment->setImportSkillTrefId($random->int(0, PHP_INT_MAX));
 
  119            $assignmentList->addAssignment($assignment);
 
  123            array(
"This is a Test", 2),
 
  124            array(array(
"üäöÖÜÄÖß"), 2),
 
  125            array(
"This is a Test with a huge chunk size", 10000),
 
  126            array($assignmentList, 7)
 
  129        foreach ($rawData as $rawItem) {
 
  131                $rawItem[0], $rawItem[1], $pre, 
$post 
  143        $pre = 
function ($value) {
 
  144            return \serialize($value);
 
  147        $post = 
function ($value) {
 
  148            return \unserialize($value);
 
An exception for terminatinating execution or to throw for unit testing.
Class ilAssQuestionSkillAssignmentRegistryTest.
getTestData(callable $pre, callable $post)
testInvalidChunkSizeWillRaiseException()
testSkillAssignmentsCanBetStoredAndFetchedBySerializationStrategy($value, $chunkSize, callable $preCallback, callable $postCallback)
@dataProvider serializedData
const EVAL_MODE_BY_QUESTION_SOLUTION