ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilQTIAssessmentcontrolTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
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)