ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
assLongMenuTest.php
Go to the documentation of this file.
1 <?php
10 {
11  protected $backupGlobals = false;
12 
13 
14  protected static function getMethod($name)
15  {
16  $class = new ReflectionClass('assLongMenu');
17  $method = $class->getMethod($name);
18  $method->setAccessible(true);
19  return $method;
20  }
21 
22  protected function setUp()
23  {
24  $GLOBALS['DIC']['ilDB'] = 'test';
25 
26  require_once './Modules/TestQuestionPool/classes/class.assLongMenu.php';
27  if (defined('ILIAS_PHPUNIT_CONTEXT')) {
28  include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
29  ilUnitUtil::performInitialisation();
30  } else {
31  chdir(dirname(__FILE__));
32  chdir('../../../');
33  }
34  require_once './Services/Utilities/classes/class.ilUtil.php';
35  }
36 
38  {
39  $instance = new assLongMenu();
40  $this->assertInstanceOf('assLongMenu', $instance);
41  }
42 
44  {
45  $instance = new assLongMenu();
46  $this->assertEquals('qpl_qst_lome', $instance->getAdditionalTableName());
47  }
48 
50  {
51  $instance = new assLongMenu();
52  $this->assertEquals('assLongMenu', $instance->getQuestionType());
53  }
54 
56  {
57  $instance = new assLongMenu();
58  $this->assertEquals('qpl_a_lome', $instance->getAnswerTableName());
59  }
60 
62  {
63  $method = self::getMethod('correctAnswerDoesNotExistInAnswerOptions');
64  $obj = new assLongMenu();
65  $value = $method->invokeArgs($obj, array(array(array(5),1,1), array(1,2,3,4)));
66  $this->assertEquals(true, $value);
67  }
68 
70  {
71  $method = self::getMethod('correctAnswerDoesNotExistInAnswerOptions');
72  $obj = new assLongMenu();
73  $value = $method->invokeArgs($obj, array(array(array(1),1,1), array(1,2,3,4)));
74  $this->assertEquals(false, $value);
75  }
76 
78  {
79  $obj = new assLongMenu();
80  $obj->setCorrectAnswers(array( 0 => array( 0 => array(0 => 'answer'),1 => '2', 2 => '1'),
81  1 => array( 0 => array(0 => 'answer'),1 => '2', 2 => '1')));
82  $value = $obj->getMaximumPoints();
83  $this->assertEquals(4, $value);
84  }
85 
87  {
88  $obj = new assLongMenu();
89  $obj->setCorrectAnswers(array( 0 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1'),
90  1 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1')));
91  $value = $obj->getMaximumPoints();
92  $this->assertEquals(4.5, $value);
93  }
94 
96  {
97  $obj = new assLongMenu();
98  $obj->setCorrectAnswers(array( 0 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1'),
99  1 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1')));
100  $obj->setAnswers(array(array(1,2,3,4)));
101  $this->assertEquals($obj->isComplete(), false);
102  }
103 
105  {
106  $obj = new assLongMenu();
107  $obj->setCorrectAnswers(array( 0 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1'),
108  1 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1')));
109  $obj->setAnswers(array(array(1,2,3,4)));
110  $obj->setPoints(4.5);
111  $obj->setTitle('LongMenu Title');
112  $obj->setLongMenuTextValue('LongMenu Question');
113  $this->assertEquals($obj->isComplete(), true);
114  }
115 
117  {
118  $obj = new assLongMenu();
119  $this->assertEquals($obj->checkQuestionCustomPart(), false);
120  }
121 
123  {
124  $obj = new assLongMenu();
125  $obj->setAnswers(array(array(1,2,3,4)));
126  $this->assertEquals($obj->checkQuestionCustomPart(), false);
127  }
128 
130  {
131  $obj = new assLongMenu();
132  $obj->setCorrectAnswers(array( 0 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1'),
133  1 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1')));
134  $this->assertEquals($obj->checkQuestionCustomPart(), false);
135  }
137  {
138  $obj = new assLongMenu();
139  $obj->setCorrectAnswers(array( 0 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1'),
140  1 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1')));
141  $obj->setAnswers(array(array('answer')));
142  $this->assertEquals($obj->checkQuestionCustomPart(), false);
143  }
145  {
146  $obj = new assLongMenu();
147  $obj->setCorrectAnswers(array( 0 => array( 0 => array(0 => 'answer'),1 => '2.25', 2 => '1')));
148  $obj->setAnswers(array(array(1)));
149  $this->assertEquals($obj->checkQuestionCustomPart(), false);
150  }
151 
153  {
154  $obj = new assLongMenu();
155  $obj->setCorrectAnswers(array( 0 => array( 0 => array(),1 => '2.25', 2 => '1')));
156  $obj->setAnswers(array(array('answer')));
157  $this->assertEquals($obj->checkQuestionCustomPart(), false);
158  }
159 
161  {
162  $obj = new assLongMenu();
163  $obj->setCorrectAnswers(array( 0 => array( 0 => array())));
164  $obj->setAnswers(array(array('answer')));
165  $this->assertEquals($obj->checkQuestionCustomPart(), false);
166  }
167 
169  {
170  $obj = new assLongMenu();
171  $obj->setCorrectAnswers(array( 0 => array( 0 => array('answer'),1 => 0, 2 => '1')));
172  $obj->setAnswers(array(array('answer')));
173  $this->assertEquals($obj->checkQuestionCustomPart(), false);
174  }
175 
177  {
178  $obj = new assLongMenu();
179  $obj->setCorrectAnswers(array( 0 => array( 0 => array('answer'),1 => 1, 2 => '1')));
180  $obj->setAnswers(array(array('answer')));
181  $this->assertEquals($obj->checkQuestionCustomPart(), true);
182  }
183 
185  {
186  $obj = new assLongMenu();
187  $array = array( 0 => 'squirrel', 1 => 'icebear');
188  $_POST['answer'] = $array;
189  $this->assertEquals($obj->getSolutionSubmit(), $array);
190  }
191 
193  {
194  $obj = new assLongMenu();
195  $obj->setAnswerType(0);
196  $this->assertEquals(0, $obj->getAnswerType());
197  }
199  {
200  $obj = new assLongMenu();
201  $this->assertEquals('', $obj->getLongMenuTextValue());
202  $obj->setLongMenuTextValue('dummy text');
203  $this->assertEquals('dummy text', $obj->getLongMenuTextValue());
204  }
205 
207  {
208  $obj = new assLongMenu();
209  $obj->setJsonStructure(json_encode(array(1 => 'bla')));
210  $this->assertEquals('{"1":"bla"}', $obj->getJsonStructure());
211  }
212 
214  {
215  $obj = new assLongMenu();
216  $this->assertEquals(false, $obj->isShuffleAnswersEnabled());
217  $this->assertNotEquals(true, $obj->isShuffleAnswersEnabled());
218  }
219 }
test_checkQuestionCustomPart_shouldBeFalseBecauseCorrectAnswerHasNoPoints()
test_setLongMenuTextValue_shouldReturnGetLongMenuTextValue()
test_getAdditionalTableName_shouldReturnString()
test_checkQuestionCustomPart_shouldBeFalseBecauseCorrectAnswerPointsAreZero()
test_checkQuestionCustomPart_shouldBeTrue()
Unit tests.
test_setAnswerType_shouldReturnGetAnswerType()
test_getMaximumPoints_shouldBeFourPointFive()
test_correctAnswerDoesNotExistInAnswerOptions_shouldReturnFalse()
static getMethod($name)
test_getSolutionSubmit_shouldReturnSolution()
test_correctAnswerDoesNotExistInAnswerOptions_shouldReturnTrue()
test_checkQuestionCustomPart_shouldBeFalseBecauseNoCustomPart()
test_checkQuestionCustomPart_shouldBeFalseBecauseOnlyCorrectAnswers()
test_instantiateObject_shouldReturnInstance()
test_getQuestionType_shouldReturnString()
test_getMaximumPoints_shouldBeFour()
test_setJsonStructure_shouldReturnGetJsonStructure()
test_isShuffleAnswersEnabled_shouldReturnFalse()
test_checkQuestionCustomPart_shouldBeFalseBecauseOnlyAnswers()
test_checkQuestionCustomPart_shouldBeFalseBecauseToManyCorrectAnswers()
test_checkQuestionCustomPart_shouldBeFalseBecauseCorrectAnswerHasNoAnswers()
test_getAnswerTableName_shouldReturnString()
$_POST["username"]
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
test_checkQuestionCustomPart_shouldBeFalseBecauseCorrectAnswerDoesNotExistsInAnswers()