public function test_import_match_19() { $xml = ' <question type="matching"> <name> <text>Matching question</text> </name> <questiontext format="html"> <text>Match the upper and lower case letters.</text> </questiontext> <generalfeedback> <text>The answer is A -> a, B -> b and C -> c.</text> </generalfeedback> <defaultgrade>1</defaultgrade> <penalty>0.3333333</penalty> <hidden>0</hidden> <shuffleanswers>false</shuffleanswers> <correctfeedback> <text>Well done.</text> </correctfeedback> <partiallycorrectfeedback> <text>Not entirely.</text> </partiallycorrectfeedback> <incorrectfeedback> <text>Completely wrong!</text> </incorrectfeedback> <subquestion> <text>A</text> <answer> <text>a</text> </answer> </subquestion> <subquestion> <text>B</text> <answer> <text>b</text> </answer> </subquestion> <subquestion> <text>C</text> <answer> <text>c</text> </answer> </subquestion> <subquestion> <text></text> <answer> <text>d</text> </answer> </subquestion> <hint> <text>Hint 1</text> <shownumcorrect /> </hint> <hint> <text></text> <shownumcorrect /> <clearwrong /> </hint> </question>'; $xmldata = xmlize($xml); $importer = new qformat_xml(); $q = $importer->import_match($xmldata['question']); $expectedq = new stdClass(); $expectedq->qtype = 'match'; $expectedq->name = 'Matching question'; $expectedq->questiontext = 'Match the upper and lower case letters.'; $expectedq->questiontextformat = FORMAT_HTML; $expectedq->correctfeedback = array('text' => 'Well done.', 'format' => FORMAT_HTML); $expectedq->partiallycorrectfeedback = array('text' => 'Not entirely.', 'format' => FORMAT_HTML); $expectedq->shownumcorrect = false; $expectedq->incorrectfeedback = array('text' => 'Completely wrong!', 'format' => FORMAT_HTML); $expectedq->generalfeedback = 'The answer is A -> a, B -> b and C -> c.'; $expectedq->generalfeedbackformat = FORMAT_HTML; $expectedq->defaultmark = 1; $expectedq->length = 1; $expectedq->penalty = 0.3333333; $expectedq->shuffleanswers = 0; $expectedq->subquestions = array( array('text' => 'A', 'format' => FORMAT_HTML), array('text' => 'B', 'format' => FORMAT_HTML), array('text' => 'C', 'format' => FORMAT_HTML), array('text' => '', 'format' => FORMAT_HTML)); $expectedq->subanswers = array('a', 'b', 'c', 'd'); $expectedq->hint = array( array('text' => 'Hint 1', 'format' => FORMAT_HTML), array('text' => '', 'format' => FORMAT_HTML), ); $expectedq->hintshownumcorrect = array(true, true); $expectedq->hintclearwrong = array(false, true); $this->assert(new question_check_specified_fields_expectation($expectedq), $q); }