ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilQTIAssessmentcontrolTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21use PHPUnit\Framework\TestCase;
22
23class ilQTIAssessmentcontrolTest extends TestCase
24{
26 {
27 $instance = new ilQTIAssessmentcontrol();
28
29 $this->assertInstanceOf(ilQTIAssessmentcontrol::class, $instance);
30
31 return $instance;
32 }
33
34 #[\PHPUnit\Framework\Attributes\Depends('testConstruct')]
35 public function testGetView(ilQTIAssessmentcontrol $instance): void
36 {
37 $this->assertEquals('All', $instance->getView());
38 }
39
40 #[\PHPUnit\Framework\Attributes\Depends('testGetView')]
41 #[\PHPUnit\Framework\Attributes\DataProvider('validViews')]
42 public function testSetViewValid(string $view): void
43 {
44 $instance = new ilQTIAssessmentcontrol();
45 $instance->setView($view);
46 $this->assertEquals($view, $instance->getView());
47 }
48
49 #[\PHPUnit\Framework\Attributes\Depends('testSetViewValid')]
50 public function testSetViewInvalid(): void
51 {
52 $instance = new ilQTIAssessmentcontrol();
53 $instance->setView('Some random content.');
54 $this->assertEquals('All', $instance->getView());
55 }
56
57 #[\PHPUnit\Framework\Attributes\Depends('testConstruct')]
58 #[\PHPUnit\Framework\Attributes\DataProvider('switches')]
59 public function testSwitchInitializeValue(string $suffix): void
60 {
61 $instance = new ilQTIAssessmentcontrol();
62 $get = 'get' . ucfirst($suffix);
63
64 $this->assertEquals('', $instance->$get());
65 }
66
67 #[\PHPUnit\Framework\Attributes\Depends('testConstruct')]
68 #[\PHPUnit\Framework\Attributes\DataProvider('switches')]
69 public function testSwitchValuesConsideredAsYes(string $suffix): void
70 {
71 $instance = new ilQTIAssessmentcontrol();
72 $get = 'get' . ucfirst($suffix);
73 $set = 'set' . ucfirst($suffix);
74
75 $consideredAsYes = ['Yes', 'yes', 'no', '', 'Some random thing.'];
76 foreach ($consideredAsYes as $value) {
77 $instance->$set($value);
78 $this->assertEquals('Yes', $instance->$get());
79 }
80 }
81
82
83 #[\PHPUnit\Framework\Attributes\Depends('testConstruct')]
84 #[\PHPUnit\Framework\Attributes\DataProvider('switches')]
85 public function testSwitchValuesConsideredAsNo(string $suffix): void
86 {
87 $instance = new ilQTIAssessmentcontrol();
88 $get = 'get' . ucfirst($suffix);
89 $set = 'set' . ucfirst($suffix);
90
91 $instance->$set('No');
92 $this->assertEquals('No', $instance->$get());
93 }
94
95 public static function validViews(): array
96 {
97 return [
98 ['Administrator'],
99 ['AdminAuthority'],
100 ['Assessor'],
101 ['Author'],
102 ['Candidate'],
103 ['InvigilatorProctor'],
104 ['Psychometrician'],
105 ['Scorer'],
106 ['Tutor'],
107 ];
108 }
109
110 public static function switches(): array
111 {
112 return [
113 ['hintswitch'],
114 ['solutionswitch'],
115 ['feedbackswitch'],
116 ];
117 }
118}
testGetView(ilQTIAssessmentcontrol $instance)