81 {
82 $points = 5;
83 $precision = 2;
84
86 $meter->initFormArray([
87 'unit_id' => 1,
88 'category' => 1,
89 'sequence' => 1,
90 'unit' => 'Meter',
91 'factor' => 1,
92 'baseunit_fi' => -1,
93 'baseunit_title' => ''
94 ]);
95
97 $centimeter->initFormArray([
98 'unit_id' => 2,
99 'category' => 1,
100 'sequence' => 2,
101 'unit' => 'Centimeter',
102 'factor' => 0.01,
103 'baseunit_fi' => 1,
104 'baseunit_title' => 'Meter'
105 ]);
106
108 $newtonmetre->initFormArray([
109 'unit_id' => 3,
110 'category' => 1,
111 'sequence' => 3,
112 'unit' => 'Newton Metre',
113 'factor' => 1,
114 'baseunit_fi' => -1,
115 'baseunit_title' => ''
116 ]);
117
119 $newtoncentimeter->initFormArray([
120 'unit_id' => 4,
121 'category' => 1,
122 'sequence' => 4,
123 'unit' => 'Newton Centimeter',
124 'factor' => 0.01,
125 'baseunit_fi' => 3,
126 'baseunit_title' => 'Newton Metre'
127 ]);
128
131 $v1->setValue(19.6);
132 $v1->setIntprecision(1);
133 $v2->setValue(6.6);
134 $v2->setIntprecision(1);
135
136 $v3 = clone $v1;
137 $v4 = clone $v2;
138 $v3->setUnit(null);
139 $v3->setVariable('$v3');
140 $v4->setUnit(null);
141 $v4->setVariable('$v4');
142
144 '$r1', 0, 0, 0, $newtoncentimeter,
'$v1 * $v2', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_DEC
145 );
147 '$r2', 0, 0, 0, $newtonmetre,
'$v1 * $v2', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_DEC
148 );
150 '$r3', 0, 0, 0,
null,
'$v1 * $v2', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_DEC
151 );
153 '$r4', 0, 0, 0,
null,
'$v1 * $v2', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_DEC
154 );
156 '$r5', 0, 0, 0,
null,
'$v1 * $v2', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_DEC
157 );
159 '$r6', 0, 0, 0,
null,
'$v3 * $v4', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_DEC
160 );
161
162
165 $v5->setValue(1);
166 $v6->setValue(3);
167
170 $v7->setValue(2);
171 $v8->setValue(4);
172
174 '$r7', 0, 0, 0,
null,
'$v5/$v6', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_FRAC
175 );
176
178 '$r8', 0, 0, 0,
null,
'$v7/$v8', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_FRAC
179 );
180
181
182 $v9 = clone $v7;
183 $v9->setVariable('$v9');
184 $v10 = clone $v8;
185 $v10->setVariable('$v10');
186
187 $v11 = clone $v7;
188 $v11->setVariable('$v11');
189 $v12 = clone $v8;
190 $v12->setVariable('$v12');
191
193 '$r9', 0, 0, 0,
null,
'$v9/$v10', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_CO_FRAC
194 );
195
197 '$r10', 0, 0, 0,
null,
'$v11/$v12', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_CO_FRAC
198 );
199
200
203 $v13->setValue(1);
204 $v14->setValue(3);
206 '$r11', 0, 0, 0,
null,
'$v13/$v14', $points, $precision,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_NO_SELECTION);
207
211 $v15->setIntprecision(25);
212 $v16->setIntprecision(5);
213 $v17->setIntprecision(1);
214 $v15->setValue(225);
215 $v16->setValue(85);
216 $v17->setValue(10);
218 '$r12', 0, 0, 0,
null,
'1/(2*pi)*sqrt($v16*1000/$v15)+$v17-$v17', $points, 1,
true, 33, 34, 33,
assFormulaQuestionResult::RESULT_NO_SELECTION
219 );
220
221 $variables = [
222 $v1->getVariable() => $v1,
223 $v2->getVariable() => $v2,
224 $v3->getVariable() => $v3,
225 $v4->getVariable() => $v4,
226 $v5->getVariable() => $v5,
227 $v6->getVariable() => $v6,
228 $v7->getVariable() => $v7,
229 $v8->getVariable() => $v8,
230 $v9->getVariable() => $v9,
231 $v10->getVariable() => $v10,
232 $v11->getVariable() => $v11,
233 $v12->getVariable() => $v12,
234 $v13->getVariable() => $v13,
235 $v14->getVariable() => $v14,
236 $v15->getVariable() => $v15,
237 $v16->getVariable() => $v16,
238 $v17->getVariable() => $v17,
239 ];
240
242 $r1->getResult() => $r1,
243 $r2->getResult() => $r2,
244 $r3->getResult() => $r3,
245 $r4->getResult() => $r4,
246 $r5->getResult() => $r5,
247 $r6->getResult() => $r6,
248 $r7->getResult() => $r7,
249 $r8->getResult() => $r8,
250 $r9->getResult() => $r9,
251 $r10->getResult() => $r10,
252 $r11->getResult() => $r11,
253 $r12->getResult() => $r12,
254 ];
255
256 return [
257
258 [$r1, $variables,
$results,
'129.36', $newtoncentimeter,
true],
259 [$r2, $variables,
$results,
'1.29', $newtonmetre,
true],
260 [$r3, $variables,
$results,
'1.29', $newtonmetre,
true],
261 [$r4, $variables,
$results,
'129.36', $newtoncentimeter,
true],
262 [$r5, $variables,
$results,
'1.29',
null,
true],
263 [$r6, $variables,
$results,
'129.36',
null,
true],
264
265 [$r7, $variables,
$results,
'1/3',
null,
true],
266 [$r8, $variables,
$results,
'4/8',
null,
true],
267
268 [$r9, $variables,
$results,
'1/2',
null,
true],
269 [$r10, $variables,
$results,
'4/8',
null,
false],
270
271 [$r11, $variables,
$results,
'1/3',
null,
true],
272
273 [$r12, $variables,
$results,
'3.1',
null,
true],
274 ];
275 }