Línea 93... |
Línea 93... |
93 |
array(1, 1, 'unit_test', 'interactive', 1, 123, 1, 1, 'interactive', -1, 1, 1.0000000, 0.0000000, 1.0000000, 0, '', '', '', 1256233790, 5, 3, 'gradedright', 0.6666667, 1256233790, 1, 'answer', 'frog'),
|
93 |
array(1, 1, 'unit_test', 'interactive', 1, 123, 1, 1, 'interactive', -1, 1, 1.0000000, 0.0000000, 1.0000000, 0, '', '', '', 1256233790, 5, 3, 'gradedright', 0.6666667, 1256233790, 1, 'answer', 'frog'),
|
94 |
array(1, 1, 'unit_test', 'interactive', 1, 123, 1, 1, 'interactive', -1, 1, 1.0000000, 0.0000000, 1.0000000, 0, '', '', '', 1256233790, 5, 3, 'gradedright', 0.6666667, 1256233790, 1, '-submit', 1),
|
94 |
array(1, 1, 'unit_test', 'interactive', 1, 123, 1, 1, 'interactive', -1, 1, 1.0000000, 0.0000000, 1.0000000, 0, '', '', '', 1256233790, 5, 3, 'gradedright', 0.6666667, 1256233790, 1, '-submit', 1),
|
95 |
);
|
95 |
);
|
96 |
}
|
96 |
}
|
Línea 97... |
Línea 97... |
97 |
|
97 |
|
98 |
public function test_initial_state() {
|
98 |
public function test_initial_state(): void {
|
99 |
$this->assertFalse($this->observer->get_modified());
|
99 |
$this->assertFalse($this->observer->get_modified());
|
100 |
$this->assertEquals(0, count($this->observer->get_attempts_added()));
|
100 |
$this->assertEquals(0, count($this->observer->get_attempts_added()));
|
101 |
$this->assertEquals(0, count($this->observer->get_attempts_modified()));
|
101 |
$this->assertEquals(0, count($this->observer->get_attempts_modified()));
|
102 |
$this->assertEquals(0, count($this->observer->get_steps_added()));
|
102 |
$this->assertEquals(0, count($this->observer->get_steps_added()));
|
103 |
$this->assertEquals(0, count($this->observer->get_steps_modified()));
|
103 |
$this->assertEquals(0, count($this->observer->get_steps_modified()));
|
104 |
$this->assertEquals(0, count($this->observer->get_steps_deleted()));
|
104 |
$this->assertEquals(0, count($this->observer->get_steps_deleted()));
|
105 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
105 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
106 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
106 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 107... |
Línea 107... |
107 |
}
|
107 |
}
|
Línea 108... |
Línea 108... |
108 |
|
108 |
|
Línea 109... |
Línea 109... |
109 |
public function test_update_usage() {
|
109 |
public function test_update_usage(): void {
|
110 |
|
110 |
|
Línea 111... |
Línea 111... |
111 |
$this->quba->set_preferred_behaviour('deferredfeedback');
|
111 |
$this->quba->set_preferred_behaviour('deferredfeedback');
|
Línea 112... |
Línea 112... |
112 |
|
112 |
|
Línea 113... |
Línea 113... |
113 |
$this->assertTrue($this->observer->get_modified());
|
113 |
$this->assertTrue($this->observer->get_modified());
|
114 |
}
|
114 |
}
|
Línea 124... |
Línea 124... |
124 |
|
124 |
|
125 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
125 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
126 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
126 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 127... |
Línea 127... |
127 |
}
|
127 |
}
|
Línea 128... |
Línea 128... |
128 |
|
128 |
|
129 |
public function test_add_and_start_question() {
|
129 |
public function test_add_and_start_question(): void {
|
Línea 130... |
Línea 130... |
130 |
|
130 |
|
Línea 143... |
Línea 143... |
143 |
|
143 |
|
144 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
144 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
145 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
145 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 146... |
Línea 146... |
146 |
}
|
146 |
}
|
Línea 147... |
Línea 147... |
147 |
|
147 |
|
Línea 148... |
Línea 148... |
148 |
public function test_process_action() {
|
148 |
public function test_process_action(): void {
|
149 |
|
149 |
|
Línea 167... |
Línea 167... |
167 |
|
167 |
|
168 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
168 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
169 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
169 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 170... |
Línea 170... |
170 |
}
|
170 |
}
|
Línea 171... |
Línea 171... |
171 |
|
171 |
|
172 |
public function test_regrade_same_steps() {
|
172 |
public function test_regrade_same_steps(): void {
|
173 |
|
173 |
|
Línea 197... |
Línea 197... |
197 |
|
197 |
|
198 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
198 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
199 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
199 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 200... |
Línea 200... |
200 |
}
|
200 |
}
|
Línea 201... |
Línea 201... |
201 |
|
201 |
|
202 |
public function test_regrade_losing_steps() {
|
202 |
public function test_regrade_losing_steps(): void {
|
203 |
|
203 |
|
204 |
// Change the question so that 'toad' is also right, and regrade. This
|
204 |
// Change the question so that 'toad' is also right, and regrade. This
|
Línea 236... |
Línea 236... |
236 |
|
236 |
|
237 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
237 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
238 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
238 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 239... |
Línea 239... |
239 |
}
|
239 |
}
|
Línea 240... |
Línea 240... |
240 |
|
240 |
|
241 |
public function test_tricky_regrade() {
|
241 |
public function test_tricky_regrade(): void {
|
242 |
|
242 |
|
243 |
// The tricky thing here is that we take a half-complete question-attempt,
|
243 |
// The tricky thing here is that we take a half-complete question-attempt,
|
Línea 277... |
Línea 277... |
277 |
|
277 |
|
278 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
278 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
279 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
279 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 280... |
Línea 280... |
280 |
}
|
280 |
}
|
Línea 281... |
Línea 281... |
281 |
|
281 |
|
282 |
public function test_move_question() {
|
282 |
public function test_move_question(): void {
|
283 |
|
283 |
|
Línea 301... |
Línea 301... |
301 |
|
301 |
|
302 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
302 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
303 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
303 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 304... |
Línea 304... |
304 |
}
|
304 |
}
|
Línea 305... |
Línea 305... |
305 |
|
305 |
|
306 |
public function test_move_question_then_modify() {
|
306 |
public function test_move_question_then_modify(): void {
|
307 |
|
307 |
|
308 |
$q = \test_question_maker::make_question('truefalse');
|
308 |
$q = \test_question_maker::make_question('truefalse');
|
Línea 331... |
Línea 331... |
331 |
|
331 |
|
332 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
332 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
333 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
333 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 334... |
Línea 334... |
334 |
}
|
334 |
}
|
335 |
|
335 |
|
Línea 336... |
Línea 336... |
336 |
public function test_move_question_then_move_again() {
|
336 |
public function test_move_question_then_move_again(): void {
|
337 |
$originalqa = $this->quba->get_question_attempt($this->slot);
|
337 |
$originalqa = $this->quba->get_question_attempt($this->slot);
|
338 |
|
338 |
|
Línea 358... |
Línea 358... |
358 |
|
358 |
|
359 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
359 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
360 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
360 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 361... |
Línea 361... |
361 |
}
|
361 |
}
|
362 |
|
362 |
|
363 |
public function test_set_max_mark() {
|
363 |
public function test_set_max_mark(): void {
|
Línea 364... |
Línea 364... |
364 |
$this->quba->set_max_mark($this->slot, 6.0);
|
364 |
$this->quba->set_max_mark($this->slot, 6.0);
|
Línea 377... |
Línea 377... |
377 |
|
377 |
|
378 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
378 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
379 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
379 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 380... |
Línea 380... |
380 |
}
|
380 |
}
|
381 |
|
381 |
|
382 |
public function test_set_question_attempt_metadata() {
|
382 |
public function test_set_question_attempt_metadata(): void {
|
Línea 383... |
Línea 383... |
383 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
383 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
384 |
$this->assertEquals('a value', $this->quba->get_question_attempt_metadata($this->slot, 'metathingy'));
|
384 |
$this->assertEquals('a value', $this->quba->get_question_attempt_metadata($this->slot, 'metathingy'));
|
Línea 393... |
Línea 393... |
393 |
$this->assertEquals(array($this->slot => array('metathingy' => $this->quba->get_question_attempt($this->slot))),
|
393 |
$this->assertEquals(array($this->slot => array('metathingy' => $this->quba->get_question_attempt($this->slot))),
|
394 |
$this->observer->get_metadata_added());
|
394 |
$this->observer->get_metadata_added());
|
395 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
395 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
396 |
}
|
396 |
}
|
Línea 397... |
Línea 397... |
397 |
|
397 |
|
398 |
public function test_set_question_attempt_metadata_then_change() {
|
398 |
public function test_set_question_attempt_metadata_then_change(): void {
|
399 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
399 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
400 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'different value');
|
400 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'different value');
|
Línea 401... |
Línea 401... |
401 |
$this->assertEquals('different value', $this->quba->get_question_attempt_metadata($this->slot, 'metathingy'));
|
401 |
$this->assertEquals('different value', $this->quba->get_question_attempt_metadata($this->slot, 'metathingy'));
|
Línea 410... |
Línea 410... |
410 |
$this->assertEquals(array($this->slot => array('metathingy' => $this->quba->get_question_attempt($this->slot))),
|
410 |
$this->assertEquals(array($this->slot => array('metathingy' => $this->quba->get_question_attempt($this->slot))),
|
411 |
$this->observer->get_metadata_added());
|
411 |
$this->observer->get_metadata_added());
|
412 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
412 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
413 |
}
|
413 |
}
|
Línea 414... |
Línea 414... |
414 |
|
414 |
|
415 |
public function test_set_metadata_previously_set_but_dont_actually_change() {
|
415 |
public function test_set_metadata_previously_set_but_dont_actually_change(): void {
|
416 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
416 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
417 |
$this->observer = new testable_question_engine_unit_of_work($this->quba);
|
417 |
$this->observer = new testable_question_engine_unit_of_work($this->quba);
|
418 |
$this->quba->set_observer($this->observer);
|
418 |
$this->quba->set_observer($this->observer);
|
419 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
419 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
Línea 428... |
Línea 428... |
428 |
|
428 |
|
429 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
429 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
430 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
430 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 431... |
Línea 431... |
431 |
}
|
431 |
}
|
432 |
|
432 |
|
433 |
public function test_set_metadata_previously_set() {
|
433 |
public function test_set_metadata_previously_set(): void {
|
434 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
434 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
435 |
$this->observer = new testable_question_engine_unit_of_work($this->quba);
|
435 |
$this->observer = new testable_question_engine_unit_of_work($this->quba);
|
436 |
$this->quba->set_observer($this->observer);
|
436 |
$this->quba->set_observer($this->observer);
|
Línea 447... |
Línea 447... |
447 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
447 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
448 |
$this->assertEquals(array($this->slot => array('metathingy' => $this->quba->get_question_attempt($this->slot))),
|
448 |
$this->assertEquals(array($this->slot => array('metathingy' => $this->quba->get_question_attempt($this->slot))),
|
449 |
$this->observer->get_metadata_modified());
|
449 |
$this->observer->get_metadata_modified());
|
450 |
}
|
450 |
}
|
Línea 451... |
Línea 451... |
451 |
|
451 |
|
452 |
public function test_set_metadata_in_new_question() {
|
452 |
public function test_set_metadata_in_new_question(): void {
|
453 |
$newslot = $this->quba->add_question(\test_question_maker::make_question('truefalse'));
|
453 |
$newslot = $this->quba->add_question(\test_question_maker::make_question('truefalse'));
|
454 |
$this->quba->start_question($newslot);
|
454 |
$this->quba->start_question($newslot);
|
455 |
$this->quba->set_question_attempt_metadata($newslot, 'metathingy', 'a value');
|
455 |
$this->quba->set_question_attempt_metadata($newslot, 'metathingy', 'a value');
|
Línea 465... |
Línea 465... |
465 |
|
465 |
|
466 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
466 |
$this->assertEquals(0, count($this->observer->get_metadata_added()));
|
467 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
467 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
Línea 468... |
Línea 468... |
468 |
}
|
468 |
}
|
469 |
|
469 |
|
470 |
public function test_set_metadata_then_move() {
|
470 |
public function test_set_metadata_then_move(): void {
|
471 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
471 |
$this->quba->set_question_attempt_metadata($this->slot, 'metathingy', 'a value');
|
472 |
$q = \test_question_maker::make_question('truefalse');
|
472 |
$q = \test_question_maker::make_question('truefalse');
|
473 |
$newslot = $this->quba->add_question_in_place_of_other($this->slot, $q);
|
473 |
$newslot = $this->quba->add_question_in_place_of_other($this->slot, $q);
|
Línea 486... |
Línea 486... |
486 |
$this->assertEquals(array($newslot => array('metathingy' => $this->quba->get_question_attempt($newslot))),
|
486 |
$this->assertEquals(array($newslot => array('metathingy' => $this->quba->get_question_attempt($newslot))),
|
487 |
$this->observer->get_metadata_added());
|
487 |
$this->observer->get_metadata_added());
|
488 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
488 |
$this->assertEquals(0, count($this->observer->get_metadata_modified()));
|
489 |
}
|
489 |
}
|
Línea 490... |
Línea 490... |
490 |
|
490 |
|
491 |
public function test_move_then_set_metadata() {
|
491 |
public function test_move_then_set_metadata(): void {
|
492 |
$q = \test_question_maker::make_question('truefalse');
|
492 |
$q = \test_question_maker::make_question('truefalse');
|
493 |
$newslot = $this->quba->add_question_in_place_of_other($this->slot, $q);
|
493 |
$newslot = $this->quba->add_question_in_place_of_other($this->slot, $q);
|
494 |
$this->quba->start_question($this->slot);
|
494 |
$this->quba->start_question($this->slot);
|
495 |
$this->quba->set_question_attempt_metadata($newslot, 'metathingy', 'a value');
|
495 |
$this->quba->set_question_attempt_metadata($newslot, 'metathingy', 'a value');
|