17 if (defined(
'ILIAS_PHPUNIT_CONTEXT')) {
18 include_once(
"./Services/PHPUnit/classes/class.ilUnitUtil.php");
19 ilUnitUtil::performInitialisation();
21 chdir(dirname(__FILE__));
27 require_once
'./Services/Utilities/classes/class.ilUtil.php';
28 require_once
'./Services/Randomization/classes/class.ilArrayElementShuffler.php';
29 $util_mock = $this->createMock(
'ilUtil', array(
'stripSlashes'), array(),
'',
false);
30 $util_mock->expects($this->any())->method(
'stripSlashes')->will($this->returnArgument(0));
37 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
42 $this->assertInstanceOf(
'assClozeGap', $instance);
48 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
53 $instance->setType($expected);
54 $actual = $instance->getType();
57 $this->assertEquals($expected, $actual);
63 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
69 $actual = $instance->getType();
72 $this->assertEquals($expected, $actual);
78 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
83 $instance->setShuffle($expected);
84 $actual = $instance->getShuffle();
87 $this->assertEquals($expected, $actual);
93 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
98 $the_unexpected = array(
'Killing',
'Kunkel',
'Luetzenkirchen',
99 'Meyer',
'Jansen',
'Heyser',
'Becker');
100 $instance->items = $the_unexpected;
101 $instance->setShuffle(
true);
106 $this->assertNotEquals($the_unexpected, $actual);
112 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
114 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
118 $instance->addItem($expected);
119 $actual = $instance->getItem(0);
122 $this->assertEquals($expected, $actual);
128 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
130 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
135 $instance->addItem($answer);
136 $instance->addItem($expected);
137 $actual = $instance->getItem(0);
140 $this->assertEquals($expected, $actual);
146 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
148 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
152 $instance->addItem($answer1);
153 $instance->addItem($answer2);
158 $actual = $instance->getItem(2);
161 $this->assertEquals($expected, $actual);
167 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
170 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
177 $instance->addItem($answer);
178 $instance->addItem($answer2);
179 $instance->addItem($answer3);
180 $instance->addItem($expected);
181 $actual = $instance->getItem(0);
184 $this->assertEquals($expected, $actual);
190 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
192 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
197 $instance->setShuffle(
false);
198 $expected = array($item1, $item2, $item3, $item4);
200 $instance->addItem($item1);
201 $instance->addItem($item2);
202 $instance->addItem($item3);
203 $instance->addItem($item4);
207 $this->assertEquals($expected, $actual);
213 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
215 $instance->setShuffle(
true);
216 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
225 $expected = array($item1, $item2, $item3, $item4, $item5, $item6, $item7, $item8);
228 $instance->addItem($item1);
229 $instance->addItem($item2);
230 $instance->addItem($item3);
231 $instance->addItem($item4);
232 $instance->addItem($item5);
233 $instance->addItem($item6);
234 $instance->addItem($item7);
235 $instance->addItem($item8);
239 $this->assertTrue(is_array($actual));
240 $this->assertTrue(in_array($item1, $actual));
241 $this->assertTrue(in_array($item2, $actual));
242 $this->assertTrue(in_array($item3, $actual));
243 $this->assertTrue(in_array($item4, $actual));
244 $this->assertTrue(in_array($item5, $actual));
245 $this->assertTrue(in_array($item6, $actual));
246 $this->assertTrue(in_array($item7, $actual));
247 $this->assertTrue(in_array($item8, $actual));
248 $this->assertNotEquals($expected, $actual);
254 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
256 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
261 $expected = array($item1, $item2, $item3, $item4);
264 $instance->addItem($item1);
265 $instance->addItem($item2);
266 $instance->addItem($item3);
267 $instance->addItem($item4);
268 $actual = $instance->getItemsRaw();
271 $this->assertEquals($expected, $actual);
277 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
279 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
287 $instance->addItem($item1);
288 $instance->addItem($item2);
289 $instance->addItem($item3);
290 $instance->addItem($item4);
291 $actual = $instance->getItemCount();
294 $this->assertEquals($expected, $actual);
297 public function test_setItemPoints_shouldSetItemPoints()
300 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
302 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
304 $instance->addItem($item1);
308 $instance->setItemPoints(0, $expected);
310 $item_retrieved = $instance->getItem(0);
311 $actual = $item_retrieved->getPoints();
314 $this->assertEquals($expected, $actual);
320 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
322 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
326 $instance->addItem($item1);
327 $instance->addItem($item2);
329 $expected = array(
'1' => $item2);
332 $instance->deleteItem(0);
334 $actual = $instance->getItemsRaw();
337 $this->assertEquals($expected, $actual);
343 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
345 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
351 $instance->addItem($item1);
352 $instance->addItem($item2);
353 $instance->addItem($item3);
354 $instance->addItem($item4);
359 $instance->clearItems();
360 $actual = $instance->getItemCount();
363 $this->assertEquals($expected, $actual);
369 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
371 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
374 $instance->addItem($item1);
379 $instance->setItemLowerBound(0, $expected);
380 $item_retrieved = $instance->getItem(0);
381 $actual = $item_retrieved->getLowerBound();
384 $this->assertEquals($expected, $actual);
390 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
392 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
395 $instance->addItem($item1);
400 $instance->setItemLowerBound(0, $expected);
401 $item_retrieved = $instance->getItem(0);
402 $actual = $item_retrieved->getLowerBound();
405 $this->assertNotEquals($expected, $actual);
406 $this->assertEquals($item_retrieved->getAnswerText(), $actual);
412 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
414 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
417 $instance->addItem($item1);
422 $instance->setItemUpperBound(0, $expected);
423 $item_retrieved = $instance->getItem(0);
424 $actual = $item_retrieved->getUpperBound();
427 $this->assertEquals($expected, $actual);
433 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
435 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
438 $instance->addItem($item1);
443 $instance->setItemUpperBound(0, $expected);
444 $item_retrieved = $instance->getItem(0);
445 $actual = $item_retrieved->getUpperBound();
448 $this->assertNotEquals($expected, $actual);
449 $this->assertEquals($item_retrieved->getAnswerText(), $actual);
455 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
457 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
463 $instance->addItem($item1);
464 $instance->addItem($item2);
465 $instance->addItem($item3);
466 $instance->addItem($item4);
468 $expected = strlen($item4->getAnswertext());
471 $actual = $instance->getMaxWidth();
474 $this->assertEquals($expected, $actual);
480 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
482 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
488 $instance->addItem($item1);
489 $instance->addItem($item2);
490 $instance->addItem($item3);
491 $instance->addItem($item4);
493 $expected = array( 0 => 3 );
496 $actual = $instance->getBestSolutionIndexes();
499 $this->assertEquals($expected, $actual);
505 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
507 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
514 require_once
'./Services/Language/classes/class.ilLanguage.php';
515 $lng_mock = $this->createMock(
'ilLanguage', array(
'txt'), array(),
'',
false);
516 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'Test'));
519 $DIC[
'lng'] = $lng_mock;
522 $instance->addItem($item1);
523 $instance->addItem($item2);
524 $instance->addItem($item3);
525 $instance->addItem($item4);
527 $expected =
'Esther';
533 $this->assertEquals($expected, $actual);
539 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
541 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
548 require_once
'./Services/Language/classes/class.ilLanguage.php';
549 $lng_mock = $this->createMock(
'ilLanguage', array(
'txt'), array(),
'',
false);
550 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'or'));
553 $DIC[
'lng'] = $lng_mock;
556 $instance->setShuffle(
true);
557 $instance->addItem($item1);
558 $instance->addItem($item2);
559 $instance->addItem($item3);
560 $instance->addItem($item4);
562 $expected1 =
'Karl or Esther';
563 $expected2 =
'Esther or Karl';
569 $this->assertTrue(($actual == $expected1) || ($actual == $expected2));
575 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
577 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
584 require_once
'./Services/Language/classes/class.ilLanguage.php';
585 $lng_mock = $this->createMock(
'ilLanguage', array(
'txt'), array(),
'',
false);
586 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'Test'));
589 $DIC[
'lng'] = $lng_mock;
592 $instance->addItem($item1);
593 $instance->addItem($item2);
594 $instance->addItem($item3);
595 $instance->addItem($item4);
603 $this->assertEquals($expected, $actual);
609 require_once
'./Modules/TestQuestionPool/classes/class.assClozeGap.php';
611 require_once
'./Modules/TestQuestionPool/classes/class.assAnswerCloze.php';
618 require_once
'./Services/Language/classes/class.ilLanguage.php';
619 $lng_mock = $this->createMock(
'ilLanguage', array(
'txt'), array(),
'',
false);
620 $lng_mock->expects($this->any())->method(
'txt')->will($this->returnValue(
'Test'));
623 $DIC[
'lng'] = $lng_mock;
626 $instance->addItem($item1);
627 $instance->addItem($item2);
628 $instance->addItem($item3);
629 $instance->addItem($item4);
637 $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()
setGlobalVariable($name, $value)
test_deleteItem_shouldDeleteGivenItem()
test_setItemLowerBound_shouldSetItemsLowerBound()
test_getItemCount_shouldReturnCorrectCount()
test_getBestSolutionIndexes_shouldReturnBestSolutionIndexes()
test_setItemUpperBound_shouldSetItemsUpperBound()
test_arrayShuffle_shouldNotReturnArrayUnshuffled()
test_getBestSolutionOutput_shouldReturnBestSolutionOutput_CaseText()
test_getItem_shouldReturnNullIfNoItemAtGivenIndex()
test_getItems_shouldReturnItemsAdded()
test_getBestSolutionOutput_shouldReturnEmptyStringOnUnknownType_WhichMakesNoSenseButK()
test_addGetItem_shouldReturnValueUnchangedMultiple()
test_setItemLowerBound_shouldSetItemsAnswerIfBoundTooHigh()
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
test_setGetType_shouldReturnUnchangedValue()
test_setGetShuffle_shouldReturnUnchangedValue()