ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilTestEvaluationUserDataTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
26 {
28 
29  protected function setUp(): void
30  {
31  parent::setUp();
32 
33  $this->testObj = new ilTestEvaluationUserData(0);
34  }
35 
37  {
38  $this->assertInstanceOf(ilTestEvaluationUserData::class, $this->testObj);
39  }
40 
41  public function test__sleep(): void
42  {
43  $expected = [
44  "questions",
45  "passes",
46  "passed",
47  "lastVisit",
48  "firstVisit",
49  "timeOfWork",
50  "numberOfQuestions",
51  "questionsWorkedThrough",
52  "mark_official",
53  "mark",
54  "maxpoints",
55  "reached",
56  "user_id",
57  "login",
58  "name",
59  "passScoring"
60  ];
61 
62  $this->assertEquals($expected, $this->testObj->__sleep());
63  }
64 
65  public function testPassScoring(): void
66  {
67  $this->testObj->setPassScoring(1);
68  $this->assertEquals(1, $this->testObj->getPassScoring());
69  }
70 
71  public function testPassed(): void
72  {
73  $this->testObj->setPassed(true);
74  $this->assertTrue($this->testObj->getPassed());
75 
76  $this->testObj->setPassed(false);
77  $this->assertFalse($this->testObj->getPassed());
78  }
79 
80  public function testName(): void
81  {
82  $this->testObj->setName("testName");
83  $this->assertEquals("testName", $this->testObj->getName());
84  }
85 
86  public function testLogin(): void
87  {
88  $this->testObj->setLogin("testLogin");
89  $this->assertEquals("testLogin", $this->testObj->getLogin());
90  }
91 
92  public function testSubmitted(): void
93  {
94  $this->testObj->setSubmitted(true);
95  $this->assertTrue($this->testObj->isSubmitted());
96 
97  $this->testObj->setSubmitted(false);
98  $this->assertFalse($this->testObj->isSubmitted());
99  }
100 
101  public function testSetReached(): void
102  {
103  $this->testObj->setReached(220.55);
104  $this->assertEquals(220.55, $this->testObj->reached);
105  }
106 
107  public function testGetReached(): void
108  {
109  $testEvaluationPassData = new ilTestEvaluationPassData();
110  $testEvaluationPassData->setReachedPoints(20);
111 
112  $this->testObj->passes = [
113  $testEvaluationPassData
114  ];
115 
116  $this->assertEquals(20, $this->testObj->getReached());
117  }
118 
119  public function testGetMaxpoints(): void
120  {
121  $testEvaluationPassData = new ilTestEvaluationPassData();
122  $testEvaluationPassData->setMaxPoints(20);
123 
124  $this->testObj->passes = [
125  $testEvaluationPassData
126  ];
127 
128  $this->assertEquals(20, $this->testObj->getMaxpoints());
129  }
130 
131  public function testSetMaxpoints(): void
132  {
133  $this->testObj->setMaxpoints(220.55);
134  $this->assertEquals(220.55, $this->testObj->maxpoints);
135  }
136 
137  public function testGetReachedPointsInPercent(): void
138  {
139  $testEvaluationPassData = new ilTestEvaluationPassData();
140  $testEvaluationPassData->setReachedPoints(15);
141  $testEvaluationPassData->setMaxPoints(20);
142 
143  $this->testObj->passes = [
144  $testEvaluationPassData
145  ];
146 
147  $this->assertEquals(75, $this->testObj->getReachedPointsInPercent());
148  }
149 
150  public function testMark(): void
151  {
152  $this->testObj->setMark("testMark");
153  $this->assertEquals("testMark", $this->testObj->getMark());
154  }
155 
156  public function testGetQuestionsWorkedThrough(): void
157  {
158  $testEvaluationPassData = new ilTestEvaluationPassData();
159  $testEvaluationPassData->setReachedPoints(15);
160  $testEvaluationPassData->setMaxPoints(20);
161  $testEvaluationPassData->setNrOfAnsweredQuestions(5);
162 
163  $this->testObj->passes = [
164  $testEvaluationPassData
165  ];
166 
167  $this->assertEquals(5, $this->testObj->getQuestionsWorkedThrough());
168  }
169 
170  public function testSetQuestionsWorkedThrough(): void
171  {
172  $this->testObj->setQuestionsWorkedThrough(215);
173  $this->assertEquals(215, $this->testObj->questionsWorkedThrough);
174  }
175 
176  public function testGetNumberOfQuestions(): void
177  {
178  $testEvaluationPassData = new ilTestEvaluationPassData();
179  $testEvaluationPassData->setQuestionCount(5);
180 
181  $this->testObj->passes = [
182  $testEvaluationPassData
183  ];
184 
185  $this->assertEquals(5, $this->testObj->getNumberOfQuestions());
186  }
187 
188  public function testSetNumberOfQuestions(): void
189  {
190  $this->testObj->setNumberOfQuestions(215);
191  $this->assertEquals(215, $this->testObj->numberOfQuestions);
192  }
193 
195  {
196  $testEvaluationPassData = new ilTestEvaluationPassData();
197  $testEvaluationPassData->setQuestionCount(5);
198  $testEvaluationPassData->setNrOfAnsweredQuestions(3);
199 
200  $this->testObj->passes = [
201  $testEvaluationPassData
202  ];
203 
204  $this->assertEquals(60, $this->testObj->getQuestionsWorkedThroughInPercent());
205  }
206 
207  public function testGetTimeOfWork(): void
208  {
209  $data1 = new ilTestEvaluationPassData();
210  $data1->setWorkingTime(5);
211 
212  $data2 = new ilTestEvaluationPassData();
213  $data2->setWorkingTime(7);
214 
215  $this->testObj->passes = [
216  $data1,
217  $data2
218  ];
219 
220  $this->assertEquals(12, $this->testObj->getTimeOfWork());
221  }
222 
223  public function testSetTimeOfWork(): void
224  {
225  $this->testObj->setTimeOfWork('215');
226  $this->assertEquals('215', $this->testObj->timeOfWork);
227  }
228 
229  public function testFirstVisit(): void
230  {
231  $this->testObj->setFirstVisit(2125);
232 
233  $this->assertEquals(2125, $this->testObj->getFirstVisit());
234  }
235 
236  public function testLastVisit(): void
237  {
238  $this->testObj->setLastVisit(2125);
239 
240  $this->assertEquals(2125, $this->testObj->getLastVisit());
241  }
242 
243  public function testGetPasses(): void
244  {
245  $data1 = new ilTestEvaluationPassData();
246  $data1->setWorkingTime(5);
247 
248  $data2 = new ilTestEvaluationPassData();
249  $data2->setWorkingTime(7);
250 
251  $this->testObj->passes = [
252  $data1,
253  $data2
254  ];
255 
256  $this->assertEquals([$data1, $data2], $this->testObj->getPasses());
257  }
258 
259  public function testAddPasses(): void
260  {
261  $this->assertEquals(0, $this->testObj->getPassCount());
262 
263  $this->testObj->addPass(0, new ilTestEvaluationPassData());
264  $this->testObj->addPass(0, new ilTestEvaluationPassData());
265  $this->testObj->addPass(1, new ilTestEvaluationPassData());
266 
267  $this->assertEquals(2, $this->testObj->getPassCount());
268  }
269 
270  public function testGetPass(): void
271  {
272  $this->assertEquals(0, $this->testObj->getPassCount());
273 
275  $this->testObj->addPass(3, $data);
276  $this->testObj->addPass(0, new ilTestEvaluationPassData());
277  $this->testObj->addPass(1, new ilTestEvaluationPassData());
278 
279  $this->assertEquals($data, $this->testObj->getPass(3));
280  }
281 
282  public function testGetPassCount(): void
283  {
284  $this->assertEquals(0, $this->testObj->getPassCount());
285 
286  $this->testObj->addPass(0, new ilTestEvaluationPassData());
287  $this->testObj->addPass(0, new ilTestEvaluationPassData());
288  $this->testObj->addPass(1, new ilTestEvaluationPassData());
289 
290  $this->assertEquals(2, $this->testObj->getPassCount());
291  }
292 
293  public function testAddQuestionTitle(): void
294  {
295  $this->testObj->addQuestionTitle(0, "testString");
296  $this->testObj->addQuestionTitle(1, "testString2");
297 
298  $this->assertEquals("testString", $this->testObj->getQuestionTitles()[0]);
299  }
300 
301  public function testGetQuestions(): void
302  {
303  $this->assertNull($this->testObj->getQuestions());
304 
305  $expected = [
306  "id" => 22,
307  "o_id" => 20,
308  "points" => 15,
309  "sequence" => null
310  ];
311 
312  $this->testObj->addQuestion(20, 22, 15, null, 0);
313 
314  $this->assertEquals([$expected], $this->testObj->getQuestions());
315  }
316 
317  public function testGetQuestion(): void
318  {
319  $expected = [
320  "id" => 22,
321  "o_id" => 20,
322  "points" => 15,
323  "sequence" => null
324  ];
325 
326  $this->testObj->addQuestion(20, 22, 15, null, 0);
327 
328  $this->assertEquals($expected, $this->testObj->getQuestion(0));
329  }
330 
331  public function testGetQuestionCount(): void
332  {
333  $pass = new ilTestEvaluationPassData();
334  $pass->setQuestionCount(5);
335  $this->testObj->addPass(0, $pass);
336 
337  $this->assertEquals(5, $this->testObj->getQuestionCount());
338  }
339 
340  public function testReachedPoints(): void
341  {
342  $pass = new ilTestEvaluationPassData();
343  $pass->setReachedPoints(25);
344  $this->testObj->addPass(0, $pass);
345 
346  $this->assertEquals(25, $this->testObj->getReachedPoints());
347  }
348 
349  public function testGetAvailablePoints(): void
350  {
351  $pass = new ilTestEvaluationPassData();
352  $pass->setMaxPoints(25);
353  $this->testObj->addPass(0, $pass);
354 
355  $this->assertEquals(25, $this->testObj->getAvailablePoints());
356  }
357 
358  public function testGetReachedPointsInPercentForPass(): void
359  {
360  $pass = new ilTestEvaluationPassData();
361  $pass->setReachedPoints(25);
362  $pass->setMaxPoints(50);
363  $this->testObj->addPass(0, $pass);
364 
365  $this->assertEquals(0.5, $this->testObj->getReachedPointsInPercentForPass(0));
366  }
367 
368  public function testUserID(): void
369  {
370  $this->testObj->setUserID(120);
371  $this->assertEquals(120, $this->testObj->getUserID());
372  }
373 
374  public function testMarkOfficial(): void
375  {
376  $this->testObj->setMarkOfficial("test");
377  $this->assertEquals("test", $this->testObj->getMarkOfficial());
378  }
379 }
Class ilTestEvaluationUserDataTest.
Class ilTestBaseClass.