4 require_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.");
87 $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
88 $registry->setChunkSize(-5);
89 $this->fail(
"Failed asserting that exception of type \"InvalidArgumentException\" is thrown.");
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);
getTestData(callable $pre, callable $post)
testSkillAssignmentsCanBetStoredAndFetchedBySerializationStrategy($value, $chunkSize, callable $preCallback, callable $postCallback)
serializedData
Class ilAssQuestionSkillAssignmentRegistryTest.
const EVAL_MODE_BY_QUESTION_SOLUTION
testInvalidChunkSizeWillRaiseException()