public function test_multianswer_adaptivenopenalty_qsession17376() {
$quiz = (object) array(
'id' => '308',
'course' => '569',
'name' => 'Essere 1',
'intro' => '',
'introformat' => '1',
'timeopen' => '0',
'timeclose' => '0',
'preferredbehaviour' => 'adaptivenopenalty',
'attempts' => '0',
'attemptonlast' => '0',
'grademethod' => '1',
'decimalpoints' => '2',
'questiondecimalpoints' => '-2',
'reviewattempt' => '69904',
'reviewcorrectness' => '69904',
'reviewmarks' => '69904',
'reviewspecificfeedback' => '69904',
'reviewgeneralfeedback' => '69904',
'reviewrightanswer' => '69904',
'reviewoverallfeedback' => '4352',
'questionsperpage' => '0',
'shufflequestions' => '0',
'shuffleanswers' => '0',
'questions' => '12395,12403,12365,12379,12421,12393,12407,12409,12371,12367,11315,11325,11323,11313,11327,0',
'sumgrades' => '15.00000',
'grade' => '15.00000',
'timecreated' => '0',
'timemodified' => '1288631793',
'timelimit' => '0',
'password' => '',
'subnet' => '',
'popup' => '0',
'delay1' => '0',
'delay2' => '0',
'showuserpicture' => '0',
'showblocks' => '0',
);
$attempt = (object) array(
'id' => '1279',
'uniqueid' => '1279',
'quiz' => '308',
'userid' => '3912',
'attempt' => '1',
'sumgrades' => '12.30000',
'timestart' => '1286793917',
'timefinish' => '1287990036',
'timemodified' => '1287989868',
'layout' => '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0',
'preview' => '0',
'needsupgradetonewqe' => 1,
);
$question = (object) array(
'id' => '12379',
'category' => '773',
'parent' => '0',
'name' => 'Essere - 24',
'questiontext' => 'Toni ___ il fratello di Maria.
{#1}
',
'questiontextformat' => '1',
'generalfeedback' => '',
'oldquestiontextformat' => '0',
'generalfeedbackformat' => '1',
'defaultmark' => '1.0000000',
'penalty' => '0.1000000',
'qtype' => 'multianswer',
'length' => '1',
'stamp' => 'moody.st-andrews.ac.uk+100927175335+dFP9cj',
'version' => 'moody.st-andrews.ac.uk+101101171746+GiqtDa',
'hidden' => '0',
'timecreated' => '1285610015',
'timemodified' => '1288631866',
'createdby' => '2',
'modifiedby' => '5',
'maxmark' => '1.0000000',
'options' => (object) array(
'questions' => array(
1 => (object) array(
'id' => '12380',
'category' => '773',
'parent' => '12379',
'name' => 'Essere - 24',
'questiontext' => '{:SHORTANSWER:=è}',
'questiontextformat' => '1',
'generalfeedback' => '',
'oldquestiontextformat' => '0',
'generalfeedbackformat' => '1',
'defaultmark' => '1.0000000',
'penalty' => '0.0000000',
'qtype' => 'shortanswer',
'length' => '1',
'stamp' => 'moody.st-andrews.ac.uk+100927175335+vVrgBJ',
'version' => 'moody.st-andrews.ac.uk+101101171746+StVqnu',
'hidden' => '0',
'timecreated' => '1285610015',
'timemodified' => '1288631866',
'createdby' => '2',
'modifiedby' => '5',
'options' => (object) array(
'answers' => array(
32516 => (object) array(
'id' => '32516',
'question' => '12380',
'answer' => 'è',
'answerformat' => '2',
'fraction' => '1.0000000',
'feedback' => '',
'feedbackformat' => '1',
),
),
'usecase' => '0',
),
'hints' => array(
),
'maxmark' => '1.0000000',
),
),
),
);
$qsession = (object) array(
'id' => '17376',
'attemptid' => '1279',
'questionid' => '12379',
'newest' => '96673',
'newgraded' => '96673',
'sumpenalty' => '0.3000000',
'manualcomment' => '',
'manualcommentformat' => '1',
'flagged' => '0',
);
$qstates = array(
41717 => (object) array(
'id' => '41717',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '0',
'answer' => '1-',
'timestamp' => '1286793917',
'event' => '0',
'grade' => '0.0000000',
'raw_grade' => '0.0000000',
'penalty' => '0.0000000',
),
42168 => (object) array(
'id' => '42168',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '1',
'answer' => '1-e',
'timestamp' => '1286794212',
'event' => '3',
'grade' => '0.0000000',
'raw_grade' => '0.0000000',
'penalty' => '0.1000000',
),
42330 => (object) array(
'id' => '42330',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '2',
'answer' => '1-è',
'timestamp' => '1286794292',
'event' => '2',
'grade' => '0.0000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
42334 => (object) array(
'id' => '42334',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '3',
'answer' => '1-è',
'timestamp' => '1286794300',
'event' => '3',
'grade' => '0.9000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
96575 => (object) array(
'id' => '96575',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '4',
'answer' => '1-',
'timestamp' => '1287989689',
'event' => '2',
'grade' => '0.9000000',
'raw_grade' => '0.0000000',
'penalty' => '0.1000000',
),
96591 => (object) array(
'id' => '96591',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '5',
'answer' => '1-è',
'timestamp' => '1287990019',
'event' => '2',
'grade' => '0.9000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
96597 => (object) array(
'id' => '96597',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '5',
'answer' => '1-è',
'timestamp' => '1287989865',
'event' => '2',
'grade' => '0.9000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
96600 => (object) array(
'id' => '96600',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '5',
'answer' => '1-è',
'timestamp' => '1287989875',
'event' => '2',
'grade' => '0.9000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
96611 => (object) array(
'id' => '96611',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '5',
'answer' => '1-è',
'timestamp' => '1287989820',
'event' => '2',
'grade' => '0.9000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
96612 => (object) array(
'id' => '96612',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '5',
'answer' => '1-è',
'timestamp' => '1287989840',
'event' => '2',
'grade' => '0.9000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
96619 => (object) array(
'id' => '96619',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '6',
'answer' => '1-è',
'timestamp' => '1287990036',
'event' => '6',
'grade' => '0.9000000',
'raw_grade' => '1.0000000',
'penalty' => '0.1000000',
),
96624 => (object) array(
'id' => '96624',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '6',
'answer' => '1-',
'timestamp' => '1287989751',
'event' => '2',
'grade' => '0.9000000',
'raw_grade' => '0.0000000',
'penalty' => '0.1000000',
),
96673 => (object) array(
'id' => '96673',
'attempt' => '1279',
'question' => '12379',
'seq_number' => '7',
'answer' => '1-',
'timestamp' => '1287989751',
'event' => '6',
'grade' => '0.9000000',
'raw_grade' => '0.0000000',
'penalty' => '0.1000000',
),
);
$qa = $this->updater->convert_question_attempt($quiz, $attempt, $question, $qsession, $qstates);
$expectedqa = (object) array(
'behaviour' => 'adaptivenopenalty',
'questionid' => 12379,
'variant' => 1,
'maxmark' => 1.0000000,
'minfraction' => 0,
'flagged' => 0,
'questionsummary' => '',
'rightanswer' => '',
'responsesummary' => '',
'timemodified' => 0,
'steps' => array(
0 => (object) array(
'sequencenumber' => 0,
'state' => '',
'fraction' => null,
'timecreated' => 1286793917,
'userid' => 3912,
'data' => array(),
),
1 => (object) array(
'sequencenumber' => 1,
'state' => '',
'fraction' => null,
'timecreated' => 1286794212,
'userid' => 3912,
'data' => array(),
),
2 => (object) array(
'sequencenumber' => 2,
'state' => '',
'fraction' => null,
'timecreated' => 1286794292,
'userid' => 3912,
'data' => array(),
),
3 => (object) array(
'sequencenumber' => 3,
'state' => '',
'fraction' => null,
'timecreated' => 1286794300,
'userid' => 3912,
'data' => array(),
),
4 => (object) array(
'sequencenumber' => 4,
'state' => '',
'fraction' => null,
'timecreated' => 1287989689,
'userid' => 3912,
'data' => array(),
),
5 => (object) array(
'sequencenumber' => 5,
'state' => '',
'fraction' => null,
'timecreated' => 1287990019,
'userid' => 3912,
'data' => array(),
),
5 => (object) array(
'sequencenumber' => 5,
'state' => '',
'fraction' => null,
'timecreated' => 1287989865,
'userid' => 3912,
'data' => array(),
),
5 => (object) array(
'sequencenumber' => 5,
'state' => '',
'fraction' => null,
'timecreated' => 1287989875,
'userid' => 3912,
'data' => array(),
),
5 => (object) array(
'sequencenumber' => 5,
'state' => '',
'fraction' => null,
'timecreated' => 1287989820,
'userid' => 3912,
'data' => array(),
),
5 => (object) array(
'sequencenumber' => 5,
'state' => '',
'fraction' => null,
'timecreated' => 1287989840,
'userid' => 3912,
'data' => array(),
),
6 => (object) array(
'sequencenumber' => 6,
'state' => '',
'fraction' => null,
'timecreated' => 1287990036,
'userid' => 3912,
'data' => array(),
),
6 => (object) array(
'sequencenumber' => 6,
'state' => '',
'fraction' => null,
'timecreated' => 1287989751,
'userid' => 3912,
'data' => array(),
),
7 => (object) array(
'sequencenumber' => 7,
'state' => '',
'fraction' => null,
'timecreated' => 1287989751,
'userid' => 3912,
'data' => array(),
),
),
);
$this->compare_qas($expectedqa, $qa);
}