Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 11
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');