44 #[\PHPUnit\Framework\Attributes\DataProvider('serializedData')] 47 $this->markTestSkipped(
'Data Provider needs to be revisited.');
49 $settingsMock = $this->getMockBuilder(
'ilSetting')->disableOriginalConstructor()->onlyMethods([
'set',
'get',
'delete'])->getMock();
51 $settingsMock->expects($this->any())->method(
'set')->willReturnCallback(
52 function ($key, $value) {
53 $this->storage[$key] = $value;
57 $settingsMock->expects($this->any())->method(
'get')->willReturnCallback(
58 function ($key, $value) {
59 return $this->storage[$key] ?? $value;
63 $settingsMock->expects($this->any())->method(
'delete')->willReturnCallback(
65 if (isset($this->storage[$key])) {
66 unset($this->storage[$key]);
71 $valueToTest = $preCallback($value);
74 $registry->setChunkSize($chunkSize);
75 $registry->setStringifiedImports(self::TEST_KEY, $valueToTest);
76 $actual = $registry->getStringifiedImports(self::TEST_KEY);
78 $this->assertEquals($valueToTest, $actual);
79 $this->assertEquals($value, $postCallback($actual));
82 #[\PHPUnit\Framework\Attributes\DoesNotPerformAssertions] 85 $settingsMock = $this->getMockBuilder(
'ilSetting')->disableOriginalConstructor()->onlyMethods([
'set',
'get',
'delete'])->getMock();
89 $registry->setChunkSize(
'a');
90 $this->fail(
'Failed asserting that exception of type "InvalidArgumentException" is thrown.');
96 $registry->setChunkSize(-5);
97 $this->fail(
'Failed asserting that exception of type "InvalidArgumentException" is thrown.');
113 for ($i = 0; $i < 5; $i++) {
116 $assignment->setImportSkillTitle(
'phpunit' . $i);
117 $assignment->setImportSkillPath(
'phpunit' . $i);
118 $random = new \Random\Randomizer();
119 $assignment->setSkillPoints($random->getInt(0, PHP_INT_MAX));
120 $assignment->setImportQuestionId($random->getInt(0, PHP_INT_MAX));
121 $assignment->setImportSkillBaseId($random->getInt(0, PHP_INT_MAX));
122 $assignment->setImportSkillTrefId($random->getInt(0, PHP_INT_MAX));
124 $assignmentList->addAssignment($assignment);
128 [
'This is a Test', 2],
130 [
'This is a Test with a huge chunk size', 10000],
131 [$assignmentList, 7],
134 foreach ($rawData as $rawItem) {
135 $data[] = [$rawItem[0], $rawItem[1], $pre,
$post];
146 $pre =
function ($value) {
147 return serialize($value);
150 $post =
function ($value) {
151 return unserialize($value);
154 return self::getTestData($pre,
$post);
testSkillAssignmentsCanBetStoredAndFetchedBySerializationStrategy($value, $chunkSize, callable $preCallback, callable $postCallback)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getTestData(callable $pre, callable $post)
const EVAL_MODE_BY_QUESTION_SOLUTION
testInvalidChunkSizeWillRaiseException()