public function test_import_numerical_19() { $xml = ' <question type="numerical"> <name> <text>Numerical question</text> </name> <questiontext format="html"> <text>What is the answer?</text> </questiontext> <generalfeedback> <text>General feedback: Think Hitch-hikers guide to the Galaxy.</text> </generalfeedback> <defaultgrade>1</defaultgrade> <penalty>0.1</penalty> <hidden>0</hidden> <answer fraction="100"> <text>42</text> <feedback> <text>Well done!</text> </feedback> <tolerance>0.001</tolerance> </answer> <answer fraction="0"> <text>13</text> <feedback> <text>What were you thinking?!</text> </feedback> <tolerance>1</tolerance> </answer> <answer fraction="0"> <text>*</text> <feedback> <text>Completely wrong.</text> </feedback> <tolerance></tolerance> </answer> </question>'; $xmldata = xmlize($xml); $importer = new qformat_xml(); $q = $importer->import_numerical($xmldata['question']); $expectedq = new stdClass(); $expectedq->qtype = 'numerical'; $expectedq->name = 'Numerical question'; $expectedq->questiontext = 'What is the answer?'; $expectedq->questiontextformat = FORMAT_HTML; $expectedq->generalfeedback = 'General feedback: Think Hitch-hikers guide to the Galaxy.'; $expectedq->generalfeedbackformat = FORMAT_HTML; $expectedq->defaultmark = 1; $expectedq->length = 1; $expectedq->penalty = 0.1; $expectedq->answer = array('42', '13', '*'); $expectedq->fraction = array(1, 0, 0); $expectedq->feedback = array( array('text' => 'Well done!', 'format' => FORMAT_HTML), array('text' => 'What were you thinking?!', 'format' => FORMAT_HTML), array('text' => 'Completely wrong.', 'format' => FORMAT_HTML)); $expectedq->tolerance = array(0.001, 1, 0); $this->assert(new question_check_specified_fields_expectation($expectedq), $q); }