Example #1
0
 /**
  * @return question_finder a question finder.
  */
 public static function get_instance() {
     if (is_null(self::$questionfinder)) {
         self::$questionfinder = new question_finder();
     }
     return self::$questionfinder;
 }
 /**
  * @param $responsecounts
  * @param $qubaids
  * @param $questions
  * @param $whichtries
  */
 protected function check_response_counts($responsecounts, $qubaids, $questions, $whichtries)
 {
     for ($rowno = 0; $rowno < $responsecounts->getRowCount(); $rowno++) {
         $expected = $responsecounts->getRow($rowno);
         $defaultsforexpected = array('randq' => '', 'variant' => '1', 'subpart' => '1');
         foreach ($defaultsforexpected as $key => $expecteddefault) {
             if (!isset($expected[$key])) {
                 $expected[$key] = $expecteddefault;
             }
         }
         if ($expected['randq'] == '') {
             $question = $questions[$expected['slot']];
         } else {
             $qid = $this->randqids[$expected['slot']][$expected['randq']];
             $question = question_finder::get_instance()->load_question_data($qid);
         }
         $this->assert_response_count_equals($question, $qubaids, $expected, $whichtries);
     }
 }