19 declare(strict_types=1);
34 #[\PHPUnit\Framework\Attributes\DataProvider('throwOnDifferentTestIdDataProvider')] 37 $test_settings = $this->createConfiguredMock(TestSettings::class, [
'getTestId' => $IO]);
41 $this->createConfiguredMock(SettingsGeneral::class, [
'getTestId' => $IO]),
42 $this->createConfiguredMock(SettingsIntroduction::class, [
'getTestId' => $IO]),
43 $this->createConfiguredMock(SettingsAccess::class, [
'getTestId' => $IO]),
44 $this->createConfiguredMock(SettingsTestBehaviour::class, [
'getTestId' => $IO]),
45 $this->createConfiguredMock(SettingsQuestionBehaviour::class, [
'getTestId' => $IO]),
46 $this->createConfiguredMock(SettingsParticipantFunctionality::class, [
'getTestId' => $IO]),
47 $this->createConfiguredMock(SettingsFinishing::class, [
'getTestId' => $IO]),
48 $this->createConfiguredMock(SettingsAdditional::class, [
'getTestId' => $IO])
51 $output = self::callMethod($main_settings,
'throwOnDifferentTestId', [$test_settings]);
53 $this->assertNull($output);
65 #[\PHPUnit\Framework\Attributes\DataProvider('throwOnDifferentTestIdExceptionDataProvider')] 68 $test_settings = $this->createMock(TestSettings::class);
69 $test_settings->method(
'getTestId')->willReturn($input[
'test_id_1']);
73 $this->createConfiguredMock(SettingsGeneral::class, [
'getTestId' => $input[
'test_id_2']]),
74 $this->createConfiguredMock(SettingsIntroduction::class, [
'getTestId' => $input[
'test_id_2']]),
75 $this->createConfiguredMock(SettingsAccess::class, [
'getTestId' => $input[
'test_id_2']]),
76 $this->createConfiguredMock(SettingsTestBehaviour::class, [
'getTestId' => $input[
'test_id_2']]),
77 $this->createConfiguredMock(SettingsQuestionBehaviour::class, [
'getTestId' => $input[
'test_id_2']]),
78 $this->createConfiguredMock(SettingsParticipantFunctionality::class, [
'getTestId' => $input[
'test_id_2']]),
79 $this->createConfiguredMock(SettingsFinishing::class, [
'getTestId' => $input[
'test_id_2']]),
80 $this->createConfiguredMock(SettingsAdditional::class, [
'getTestId' => $input[
'test_id_2']])
82 $this->expectException(LogicException::class);
83 self::callMethod($main_settings,
'throwOnDifferentTestId', [$test_settings]);
89 [[
'test_id_1' => -1,
'test_id_2' => 0]],
90 [[
'test_id_1' => 0,
'test_id_2' => 1]],
91 [[
'test_id_1' => 1,
'test_id_2' => -1]]
95 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithTestIdDataProvider')] 101 $this->createConfiguredMock(
102 SettingsGeneral::class,
103 [
'withTestId' => $this->createMock(SettingsGeneral::class)]
105 $this->createConfiguredMock(
106 SettingsIntroduction::class,
107 [
'withTestId' => $this->createMock(SettingsIntroduction::class)]
109 $this->createConfiguredMock(
110 SettingsAccess::class,
111 [
'withTestId' => $this->createMock(SettingsAccess::class)]
113 $this->createConfiguredMock(
114 SettingsTestBehaviour::class,
115 [
'withTestId' => $this->createMock(SettingsTestBehaviour::class)]
117 $this->createConfiguredMock(
118 SettingsQuestionBehaviour::class,
119 [
'withTestId' => $this->createMock(SettingsQuestionBehaviour::class)]
121 $this->createConfiguredMock(
122 SettingsParticipantFunctionality::class,
123 [
'withTestId' => $this->createMock(SettingsParticipantFunctionality::class)]
125 $this->createConfiguredMock(
126 SettingsFinishing::class,
127 [
'withTestId' => $this->createMock(SettingsFinishing::class)]
129 $this->createConfiguredMock(
130 SettingsAdditional::class,
131 [
'withTestId' => $this->createMock(SettingsAdditional::class)]
136 $this->assertInstanceOf(MainSettings::class, $main_settings);
137 $this->assertEquals($IO, $main_settings->getTestId());
149 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithGeneralSettingsDataProvider')] 156 $this->createMock(SettingsGeneral::class),
157 $this->createMock(SettingsIntroduction::class),
158 $this->createMock(SettingsAccess::class),
159 $this->createMock(SettingsTestBehaviour::class),
160 $this->createMock(SettingsQuestionBehaviour::class),
161 $this->createMock(SettingsParticipantFunctionality::class),
162 $this->createMock(SettingsFinishing::class),
163 $this->createMock(SettingsAdditional::class)
164 ))->withGeneralSettings($IO);
166 $this->assertInstanceOf(MainSettings::class, $main_settings);
167 $this->assertEquals($IO, $main_settings->getGeneralSettings());
174 $test_case->createMock(SettingsGeneral::class)
178 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithIntroductionSettingsDataProvider')] 185 $this->createMock(SettingsGeneral::class),
186 $this->createMock(SettingsIntroduction::class),
187 $this->createMock(SettingsAccess::class),
188 $this->createMock(SettingsTestBehaviour::class),
189 $this->createMock(SettingsQuestionBehaviour::class),
190 $this->createMock(SettingsParticipantFunctionality::class),
191 $this->createMock(SettingsFinishing::class),
192 $this->createMock(SettingsAdditional::class)
193 ))->withIntroductionSettings($IO);
195 $this->assertInstanceOf(MainSettings::class, $main_settings);
196 $this->assertEquals($IO, $main_settings->getIntroductionSettings());
203 $test_case->createMock(SettingsIntroduction::class)
207 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithAccessSettingsDataProvider')] 214 $this->createMock(SettingsGeneral::class),
215 $this->createMock(SettingsIntroduction::class),
216 $this->createMock(SettingsAccess::class),
217 $this->createMock(SettingsTestBehaviour::class),
218 $this->createMock(SettingsQuestionBehaviour::class),
219 $this->createMock(SettingsParticipantFunctionality::class),
220 $this->createMock(SettingsFinishing::class),
221 $this->createMock(SettingsAdditional::class)
222 ))->withAccessSettings($IO);
224 $this->assertInstanceOf(MainSettings::class, $main_settings);
225 $this->assertEquals($IO, $main_settings->getAccessSettings());
232 $test_case->createMock(SettingsAccess::class)
236 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithTestBehaviourSettingsDataProvider')] 243 $this->createMock(SettingsGeneral::class),
244 $this->createMock(SettingsIntroduction::class),
245 $this->createMock(SettingsAccess::class),
246 $this->createMock(SettingsTestBehaviour::class),
247 $this->createMock(SettingsQuestionBehaviour::class),
248 $this->createMock(SettingsParticipantFunctionality::class),
249 $this->createMock(SettingsFinishing::class),
250 $this->createMock(SettingsAdditional::class)
251 ))->withTestBehaviourSettings($IO);
253 $this->assertInstanceOf(MainSettings::class, $main_settings);
254 $this->assertEquals($IO, $main_settings->getTestBehaviourSettings());
261 $test_case->createMock(SettingsTestBehaviour::class)
265 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithQuestionBehaviourSettingsDataProvider')] 272 $this->createMock(SettingsGeneral::class),
273 $this->createMock(SettingsIntroduction::class),
274 $this->createMock(SettingsAccess::class),
275 $this->createMock(SettingsTestBehaviour::class),
276 $this->createMock(SettingsQuestionBehaviour::class),
277 $this->createMock(SettingsParticipantFunctionality::class),
278 $this->createMock(SettingsFinishing::class),
279 $this->createMock(SettingsAdditional::class)
280 ))->withQuestionBehaviourSettings($IO);
282 $this->assertInstanceOf(MainSettings::class, $main_settings);
283 $this->assertEquals($IO, $main_settings->getQuestionBehaviourSettings());
290 $test_case->createMock(SettingsQuestionBehaviour::class)
294 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithParticipantFunctionalitySettingsDataProvider')] 301 $this->createMock(SettingsGeneral::class),
302 $this->createMock(SettingsIntroduction::class),
303 $this->createMock(SettingsAccess::class),
304 $this->createMock(SettingsTestBehaviour::class),
305 $this->createMock(SettingsQuestionBehaviour::class),
306 $this->createMock(SettingsParticipantFunctionality::class),
307 $this->createMock(SettingsFinishing::class),
308 $this->createMock(SettingsAdditional::class)
309 ))->withParticipantFunctionalitySettings($IO);
311 $this->assertInstanceOf(MainSettings::class, $main_settings);
312 $this->assertEquals($IO, $main_settings->getParticipantFunctionalitySettings());
319 $test_case->createMock(SettingsParticipantFunctionality::class)
323 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithFinishingSettingsDataProvider')] 330 $this->createMock(SettingsGeneral::class),
331 $this->createMock(SettingsIntroduction::class),
332 $this->createMock(SettingsAccess::class),
333 $this->createMock(SettingsTestBehaviour::class),
334 $this->createMock(SettingsQuestionBehaviour::class),
335 $this->createMock(SettingsParticipantFunctionality::class),
336 $this->createMock(SettingsFinishing::class),
337 $this->createMock(SettingsAdditional::class)
338 ))->withFinishingSettings($IO);
340 $this->assertInstanceOf(MainSettings::class, $main_settings);
341 $this->assertEquals($IO, $main_settings->getFinishingSettings());
348 $test_case->createMock(SettingsFinishing::class)
352 #[\PHPUnit\Framework\Attributes\DataProvider('getAndWithAdditionalSettingsDataProvider')] 359 $this->createMock(SettingsGeneral::class),
360 $this->createMock(SettingsIntroduction::class),
361 $this->createMock(SettingsAccess::class),
362 $this->createMock(SettingsTestBehaviour::class),
363 $this->createMock(SettingsQuestionBehaviour::class),
364 $this->createMock(SettingsParticipantFunctionality::class),
365 $this->createMock(SettingsFinishing::class),
366 $this->createMock(SettingsAdditional::class)
367 ))->withAdditionalSettings($IO);
369 $this->assertInstanceOf(MainSettings::class, $main_settings);
370 $this->assertEquals($IO, $main_settings->getAdditionalSettings());
377 $test_case->createMock(SettingsAdditional::class)
static getAndWithTestBehaviourSettingsDataProvider()
testGetAndWithAdditionalSettings(\Closure $IO)
static getAndWithParticipantFunctionalitySettingsDataProvider()
static getAndWithIntroductionSettingsDataProvider()
testThrowOnDifferentTestId(int $IO)
static getAndWithFinishingSettingsDataProvider()
static throwOnDifferentTestIdExceptionDataProvider()
testGetAndWithAccessSettings(\Closure $IO)
static getAndWithAccessSettingsDataProvider()
testGetAndWithTestId(int $IO)
static getAndWithGeneralSettingsDataProvider()
static getAndWithAdditionalSettingsDataProvider()
static getAndWithTestIdDataProvider()
testGetAndWithParticipantFunctionalitySettings(\Closure $IO)
testGetAndWithIntroductionSettings(\Closure $IO)
static throwOnDifferentTestIdDataProvider()
testGetAndWithFinishingSettings(\Closure $IO)
static getAndWithQuestionBehaviourSettingsDataProvider()
testGetAndWithTestBehaviourSettings(\Closure $IO)
testGetAndWithQuestionBehaviourSettings(\Closure $IO)
testGetAndWithGeneralSettings(\Closure $IO)
testThrowOnDifferentTestIdException(array $input)