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]))
56 unset($this->storage[$key]);
61 $valueToTest = $preCallback($value);
63 $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
64 $registry->setChunkSize($chunkSize);
65 $registry->setStringifiedImports(self::TEST_KEY, $valueToTest);
66 $actual = $registry->getStringifiedImports(self::TEST_KEY);
68 $this->assertEquals($valueToTest, $actual);
69 $this->assertEquals($value, $postCallback($actual));
77 require_once
'Services/Administration/classes/class.ilSetting.php';
78 $settingsMock = $this->getMockBuilder(
'ilSetting')->disableOriginalConstructor()->setMethods(
array(
'set',
'get',
'delete'))->getMock();
82 $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
83 $registry->setChunkSize(
"a");
84 $this->fail(
"Failed asserting that exception of type \"InvalidArgumentException\" is thrown.");
92 $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
93 $registry->setChunkSize(-5);
94 $this->fail(
"Failed asserting that exception of type \"InvalidArgumentException\" is thrown.");
110 require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImportList.php';
111 require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImport.php';
112 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignment.php';
113 $assignmentList = new \ilAssQuestionSkillAssignmentImportList();
115 for($i = 0; $i < 5; $i++)
117 $assignment = new \ilAssQuestionSkillAssignmentImport();
119 $assignment->setImportSkillTitle(
'phpunit' . $i);
120 $assignment->setImportSkillPath(
'phpunit' . $i);
121 $assignment->setSkillPoints(\rand(0, PHP_INT_MAX));
122 $assignment->setImportQuestionId(\rand(0, PHP_INT_MAX));
123 $assignment->setImportSkillBaseId(\rand(0, PHP_INT_MAX));
124 $assignment->setImportSkillTrefId(\rand(0, PHP_INT_MAX));
126 $assignmentList->addAssignment($assignment);
130 array(
"This is a Test", 2),
132 array(
"This is a Test with a huge chunk size", 10000),
133 array($assignmentList, 7)
136 foreach($rawData as $rawItem)
139 $rawItem[0], $rawItem[1], $pre, $post
151 $pre =
function($value) {
152 return \serialize($value);
155 $post =
function($value) {
156 return \unserialize($value);
getTestData(callable $pre, callable $post)
testSkillAssignmentsCanBetStoredAndFetchedBySerializationStrategy($value, $chunkSize, callable $preCallback, callable $postCallback)
serializedData
Class ilAssQuestionSkillAssignmentRegistryTest.
Create styles array
The data for the language used.
const EVAL_MODE_BY_QUESTION_SOLUTION
testInvalidChunkSizeWillRaiseException()