17 if (
defined(
'ILIAS_PHPUNIT_CONTEXT')) {
18 include_once(
"./Services/PHPUnit/classes/class.ilUnitUtil.php");
19 ilUnitUtil::performInitialisation();
21 chdir(dirname(__FILE__));
24 require_once
'./Services/Utilities/classes/class.ilUtil.php';
25 require_once
'./Services/Randomization/classes/class.ilArrayElementShuffler.php';
26 $util_mock = $this->createMock(
'ilUtil',
array(
'stripSlashes'),
array(),
'',
false);
27 $util_mock->expects($this->any())->method(
'stripSlashes')->will($this->returnArgument(0));
29 $ilUtils = $util_mock;
35 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
40 $this->assertInstanceOf(
'assClozeGap', $instance);
46 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
51 $instance->setType($expected);
52 $actual = $instance->getType();
55 $this->assertEquals($expected, $actual);
61 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
67 $actual = $instance->getType();
70 $this->assertEquals($expected, $actual);
76 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
81 $instance->setShuffle($expected);
82 $actual = $instance->getShuffle();
85 $this->assertEquals($expected, $actual);
91 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
96 $the_unexpected =
array(
'Killing',
'Kunkel',
'Luetzenkirchen',
97 'Meyer',
'Jansen',
'Heyser',
'Becker');
98 $instance->items = $the_unexpected;
99 $instance->setShuffle(
true);
104 $this->assertNotEquals($the_unexpected, $actual);
110 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
112 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
116 $instance->addItem($expected);
117 $actual = $instance->getItem(0);
120 $this->assertEquals($expected, $actual);
126 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
128 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
133 $instance->addItem($answer);
134 $instance->addItem($expected);
135 $actual = $instance->getItem(0);
138 $this->assertEquals($expected, $actual);
144 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
146 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
150 $instance->addItem($answer1);
151 $instance->addItem($answer2);
156 $actual = $instance->getItem(2);
159 $this->assertEquals($expected, $actual);
165 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
168 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
175 $instance->addItem($answer);
176 $instance->addItem($answer2);
177 $instance->addItem($answer3);
178 $instance->addItem($expected);
179 $actual = $instance->getItem(0);
182 $this->assertEquals($expected, $actual);
188 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
190 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
195 $instance->setShuffle(
false);
196 $expected =
array($item1, $item2, $item3, $item4);
198 $instance->addItem($item1);
199 $instance->addItem($item2);
200 $instance->addItem($item3);
201 $instance->addItem($item4);
205 $this->assertEquals($expected, $actual);
211 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
213 $instance->setShuffle(
true);
214 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
223 $expected =
array($item1, $item2, $item3, $item4, $item5, $item6, $item7, $item8);
226 $instance->addItem($item1);
227 $instance->addItem($item2);
228 $instance->addItem($item3);
229 $instance->addItem($item4);
230 $instance->addItem($item5);
231 $instance->addItem($item6);
232 $instance->addItem($item7);
233 $instance->addItem($item8);
237 $this->assertTrue(is_array($actual));
238 $this->assertTrue(in_array($item1, $actual));
239 $this->assertTrue(in_array($item2, $actual));
240 $this->assertTrue(in_array($item3, $actual));
241 $this->assertTrue(in_array($item4, $actual));
242 $this->assertTrue(in_array($item5, $actual));
243 $this->assertTrue(in_array($item6, $actual));
244 $this->assertTrue(in_array($item7, $actual));
245 $this->assertTrue(in_array($item8, $actual));
246 $this->assertNotEquals($expected, $actual);
252 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
254 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
259 $expected =
array($item1, $item2, $item3, $item4);
262 $instance->addItem($item1);
263 $instance->addItem($item2);
264 $instance->addItem($item3);
265 $instance->addItem($item4);
266 $actual = $instance->getItemsRaw();
269 $this->assertEquals($expected, $actual);
275 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
277 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
285 $instance->addItem($item1);
286 $instance->addItem($item2);
287 $instance->addItem($item3);
288 $instance->addItem($item4);
289 $actual = $instance->getItemCount();
292 $this->assertEquals($expected, $actual);
295 public function test_setItemPoints_shouldSetItemPoints()
298 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
300 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
302 $instance->addItem($item1);
306 $instance->setItemPoints(0, $expected);
308 $item_retrieved = $instance->getItem(0);
309 $actual = $item_retrieved->getPoints();
312 $this->assertEquals($expected, $actual);
318 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
320 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
324 $instance->addItem($item1);
325 $instance->addItem($item2);
327 $expected =
array(
'1' => $item2);
330 $instance->deleteItem(0);
332 $actual = $instance->getItemsRaw();
335 $this->assertEquals($expected, $actual);
341 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
343 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
349 $instance->addItem($item1);
350 $instance->addItem($item2);
351 $instance->addItem($item3);
352 $instance->addItem($item4);
357 $instance->clearItems();
358 $actual = $instance->getItemCount();
361 $this->assertEquals($expected, $actual);
367 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
369 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
372 $instance->addItem($item1);
377 $instance->setItemLowerBound(0, $expected);
378 $item_retrieved = $instance->getItem(0);
379 $actual = $item_retrieved->getLowerBound();
382 $this->assertEquals($expected, $actual);
388 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
390 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
393 $instance->addItem($item1);
398 $instance->setItemLowerBound(0, $expected);
399 $item_retrieved = $instance->getItem(0);
400 $actual = $item_retrieved->getLowerBound();
403 $this->assertNotEquals($expected, $actual);
404 $this->assertEquals($item_retrieved->getAnswerText(), $actual);
410 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
412 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
415 $instance->addItem($item1);
420 $instance->setItemUpperBound(0, $expected);
421 $item_retrieved = $instance->getItem(0);
422 $actual = $item_retrieved->getUpperBound();
425 $this->assertEquals($expected, $actual);
431 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
433 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
436 $instance->addItem($item1);
441 $instance->setItemUpperBound(0, $expected);
442 $item_retrieved = $instance->getItem(0);
443 $actual = $item_retrieved->getUpperBound();
446 $this->assertNotEquals($expected, $actual);
447 $this->assertEquals($item_retrieved->getAnswerText(), $actual);
453 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
455 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
461 $instance->addItem($item1);
462 $instance->addItem($item2);
463 $instance->addItem($item3);
464 $instance->addItem($item4);
466 $expected = strlen($item4->getAnswertext());
469 $actual = $instance->getMaxWidth();
472 $this->assertEquals($expected, $actual);
478 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
480 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
486 $instance->addItem($item1);
487 $instance->addItem($item2);
488 $instance->addItem($item3);
489 $instance->addItem($item4);
491 $expected =
array( 0 => 3 );
494 $actual = $instance->getBestSolutionIndexes();
497 $this->assertEquals($expected, $actual);
503 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
505 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
512 require_once
'./Services/Language/classes/class.ilLanguage.php';
513 $lng_mock = $this->createMock(
'ilLanguage',
array(
'txt'),
array(),
'',
false);
514 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'Test'));
518 $instance->addItem($item1);
519 $instance->addItem($item2);
520 $instance->addItem($item3);
521 $instance->addItem($item4);
523 $expected =
'Esther';
529 $this->assertEquals($expected, $actual);
535 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
537 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
544 require_once
'./Services/Language/classes/class.ilLanguage.php';
545 $lng_mock = $this->createMock(
'ilLanguage',
array(
'txt'),
array(),
'',
false);
546 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'or'));
550 $instance->setShuffle(
true);
551 $instance->addItem($item1);
552 $instance->addItem($item2);
553 $instance->addItem($item3);
554 $instance->addItem($item4);
556 $expected1 =
'Karl or Esther';
557 $expected2 =
'Esther or Karl';
563 $this->assertTrue(($actual == $expected1) || ($actual == $expected2));
569 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
571 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
578 require_once
'./Services/Language/classes/class.ilLanguage.php';
579 $lng_mock = $this->createMock(
'ilLanguage',
array(
'txt'),
array(),
'',
false);
580 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'Test'));
584 $instance->addItem($item1);
585 $instance->addItem($item2);
586 $instance->addItem($item3);
587 $instance->addItem($item4);
595 $this->assertEquals($expected, $actual);
601 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
603 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
610 require_once
'./Services/Language/classes/class.ilLanguage.php';
611 $lng_mock = $this->createMock(
'ilLanguage',
array(
'txt'),
array(),
'',
false);
612 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'Test'));
616 $instance->addItem($item1);
617 $instance->addItem($item2);
618 $instance->addItem($item3);
619 $instance->addItem($item4);
627 $this->assertEquals($expected, $actual);
Class for cloze question numeric answers.
test_addGetItem_shouldReturnValueUnchanged()
test_getItemsWithShuffle_shouldReturnItemsAddedShuffled()
test_getMaxWidth_shouldReturnCharacterCountOfLongestAnswertext()
test_getBestSolutionOutput_shouldReturnBestSolutionOutput_CaseNumeric()
test_getBestSolutionOutput_shouldReturnBestSolutionOutput_CaseTextMulti()
test_instantiateObject_shouldReturnInstance()
test_setType_shouldSetDefaultIfNotPassed()
Class for cloze question gaps.
test_getItemsRaw_shouldReturnItemsAdded()
test_addGetItem_shouldReturnValueUnchangedMultiplePlus()
test_clearItems_shouldClearItems()
test_setItemUpperBound_shouldSetItemsAnswerIfBoundTooLow()
test_deleteItem_shouldDeleteGivenItem()
test_setItemLowerBound_shouldSetItemsLowerBound()
test_getItemCount_shouldReturnCorrectCount()
test_getBestSolutionIndexes_shouldReturnBestSolutionIndexes()
test_setItemUpperBound_shouldSetItemsUpperBound()
Create styles array
The data for the language used.
test_arrayShuffle_shouldNotReturnArrayUnshuffled()
test_getBestSolutionOutput_shouldReturnBestSolutionOutput_CaseText()
test_getItem_shouldReturnNullIfNoItemAtGivenIndex()
test_getItems_shouldReturnItemsAdded()
test_getBestSolutionOutput_shouldReturnEmptyStringOnUnknownType_WhichMakesNoSenseButK()
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
test_addGetItem_shouldReturnValueUnchangedMultiple()
test_setItemLowerBound_shouldSetItemsAnswerIfBoundTooHigh()
test_setGetType_shouldReturnUnchangedValue()
test_setGetShuffle_shouldReturnUnchangedValue()