ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
assErrorTextTest.php
Go to the documentation of this file.
1 <?php
2 /*
3  +-----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +-----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +-----------------------------------------------------------------------------+
22 */
23 
32 {
33  protected $backupGlobals = FALSE;
34 
35  protected function setUp()
36  {
37  if (defined('ILIAS_PHPUNIT_CONTEXT'))
38  {
39  include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
40  ilUnitUtil::performInitialisation();
41  }
42  else
43  {
44  chdir( dirname( __FILE__ ) );
45  chdir('../../../');
46  }
47  }
48 
49  public function test_instantiateObjectSimple()
50  {
51  // Arrange
52  require_once './Modules/TestQuestionPool/classes/class.assErrorText.php';
53 
54  // Act
55  $instance = new assErrorText();
56 
57  // Assert
58  $this->assertNotNull($instance);
59  }
60 
61  public function test_getErrorsFromText()
62  {
63  // Arrange
64  require_once './Modules/TestQuestionPool/classes/class.assErrorText.php';
65  $instance = new assErrorText();
66 
67  $errortext = '
68  Eine ((Kündigung)) kommt durch zwei gleichlautende Willenserklärungen zustande.
69  Ein Vertrag kommt durch ((drei gleichlaute)) Willenserklärungen zustande.
70  Ein Kaufvertrag an der Kasse im Supermarkt kommt durch das legen von Ware auf das
71  Kassierband und den Kassiervorgang zustande. Dies nennt man ((konsequentes)) Handeln.';
72 
73  $expected = array( 0 => 'Kündigung', 1 => 'drei gleichlaute', 2 => 'konsequentes' );
74 
75  // Act
76  $actual = $instance->getErrorsFromText($errortext);
77 
78  // Assert
79  $this->assertEquals($expected, $actual);
80  }
81 
83  {
84  // Arrange
85  require_once './Modules/TestQuestionPool/classes/class.assErrorText.php';
86  $instance = new assErrorText();
87 
88  $errortext = '
89  Eine Kündigung)) kommt durch zwei gleichlautende (Willenserklärungen) zustande.
90  Ein Vertrag kommt durch (drei gleichlaute) Willenserklärungen zustande.
91  Ein Kaufvertrag an der Kasse im Supermarkt [kommt] durch das #legen von Ware auf das
92  Kassierband und den [[Kassiervorgang]] zustande. Dies nennt man *konsequentes Handeln.';
93 
94  $expected = array();
95 
96  // Act
97  $actual = $instance->getErrorsFromText($errortext);
98 
99  // Assert
100  $this->assertEquals($expected, $actual);
101  }
102 
104  {
105  // Arrange
106  require_once './Modules/TestQuestionPool/classes/class.assErrorText.php';
107  $instance = new assErrorText();
108 
109  $errortext = '
110  Eine ((Kündigung)) kommt durch zwei gleichlautende Willenserklärungen zustande.
111  Ein Vertrag kommt durch ((drei gleichlaute)) Willenserklärungen zustande.
112  Ein Kaufvertrag an der Kasse im Supermarkt kommt durch das legen von Ware auf das
113  Kassierband und den Kassiervorgang zustande. Dies nennt man ((konsequentes)) Handeln.';
114 
115  $expected = array( 0 => 'Kündigung', 1 => 'drei gleichlaute', 2 => 'konsequentes' );
116 
117  // Act
118  $instance->setErrorText($errortext);
119  $actual = $instance->getErrorsFromText('');
120 
121  // Assert
122  $this->assertEquals($expected, $actual);
123  }
124 
125  public function test_setErrordata_newError()
126  {
127  // Arrange
128  require_once './Modules/TestQuestionPool/classes/class.assErrorText.php';
129  $instance = new assErrorText();
130 
131  $errordata = array ('error1');
132  require_once "./Modules/TestQuestionPool/classes/class.assAnswerErrorText.php";
133  $expected = new assAnswerErrorText($errordata[0], '', 0.0);
134 
135  // Act
136  $instance->setErrorData($errordata);
137 
138  $all_errors = $instance->getErrorData();
139  $actual = $all_errors[0];
140 
141  // Assert
142  $this->assertEquals($expected, $actual);
143  }
144 
146  {
147  $this->markTestIncomplete('No good way to prepopulate errordata to make this test meaningful.');
148  return;
149 
150  // Arrange
151  require_once './Modules/TestQuestionPool/classes/class.assErrorText.php';
152  $instance = new assErrorText();
153 
154  $errordata = array ('error1');
155  require_once "./Modules/TestQuestionPool/classes/class.assAnswerErrorText.php";
156  $expected = new assAnswerErrorText($errordata[0], 'correct1', 10.0);
157  $instance->errordata = $expected;
158 
159  // Act
160  $instance->setErrorData($errordata);
161 
162  $all_errors = $instance->getErrorData();
163  $actual = $all_errors[0];
164 
165  // Assert
166  $this->assertEquals($expected, $actual);
167  }
168 
169 
170 }