36 {
37 require_once 'Services/Administration/classes/class.ilSetting.php';
38 $settingsMock = $this->getMockBuilder('ilSetting')->disableOriginalConstructor()->setMethods(array('set', 'get', 'delete'))->getMock();
39
40 $settingsMock->expects($this->any())->method('set')->will(
41 $this->returnCallback(function($key, $value) {
42 $this->storage[$key] = $value;
43 })
44 );
45
46 $settingsMock->expects($this->any())->method('get')->will(
47 $this->returnCallback(function($key, $value) {
48 return isset($this->storage[$key]) ? $this->storage[$key] : $value;
49 })
50 );
51
52 $settingsMock->expects($this->any())->method('delete')->will(
53 $this->returnCallback(function($key, $value) {
54 if(isset($this->storage[$key]))
55 {
56 unset($this->storage[$key]);
57 }
58 })
59 );
60
61 $valueToTest = $preCallback($value);
62
63 $registry = new \ilAssQuestionSkillAssignmentRegistry($settingsMock);
64 $registry->setChunkSize($chunkSize);
65 $registry->setStringifiedImports(self::TEST_KEY, $valueToTest);
66 $actual = $registry->getStringifiedImports(self::TEST_KEY);
67
68 $this->assertEquals($valueToTest, $actual);
69 $this->assertEquals($value, $postCallback($actual));
70 }