Moodle  2.2.1
http://www.collinsharper.com
C:/xampp/htdocs/moodle/question/type/multichoice/simpletest/testquestiontype.php
Go to the documentation of this file.
00001 <?php
00002 // This file is part of Moodle - http://moodle.org/
00003 //
00004 // Moodle is free software: you can redistribute it and/or modify
00005 // it under the terms of the GNU General Public License as published by
00006 // the Free Software Foundation, either version 3 of the License, or
00007 // (at your option) any later version.
00008 //
00009 // Moodle is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU General Public License
00015 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
00016 
00027 defined('MOODLE_INTERNAL') || die();
00028 
00029 require_once($CFG->dirroot . '/question/type/multichoice/questiontype.php');
00030 
00031 
00038 class qtype_multichoice_test extends UnitTestCase {
00039     protected $qtype;
00040 
00041     public function setUp() {
00042         $this->qtype = new qtype_multichoice();
00043     }
00044 
00045     public function tearDown() {
00046         $this->qtype = null;
00047     }
00048 
00049     public function test_name() {
00050         $this->assertEqual($this->qtype->name(), 'multichoice');
00051     }
00052 
00053     protected function get_test_question_data() {
00054         $q = new stdClass();
00055         $q->id = 1;
00056         $q->options->single = true;
00057         $q->options->answers[1] = (object) array('answer' => 'frog',
00058                 'answerformat' => FORMAT_HTML, 'fraction' => 1);
00059         $q->options->answers[2] = (object) array('answer' => 'toad',
00060                 'answerformat' => FORMAT_HTML, 'fraction' => 0);
00061 
00062         return $q;
00063     }
00064 
00065     public function test_can_analyse_responses() {
00066         $this->assertTrue($this->qtype->can_analyse_responses());
00067     }
00068 
00069     public function test_get_random_guess_score() {
00070         $q = $this->get_test_question_data();
00071         $this->assertEqual(0.5, $this->qtype->get_random_guess_score($q));
00072     }
00073 
00074     public function test_get_random_guess_score_multi() {
00075         $q = $this->get_test_question_data();
00076         $q->options->single = false;
00077         $this->assertNull($this->qtype->get_random_guess_score($q));
00078     }
00079 
00080     public function test_get_possible_responses_single() {
00081         $q = $this->get_test_question_data();
00082         $responses = $this->qtype->get_possible_responses($q);
00083 
00084         $this->assertEqual(array(
00085             $q->id => array(
00086                 1 => new question_possible_response('frog', 1),
00087                 2 => new question_possible_response('toad', 0),
00088                 null => question_possible_response::no_response(),
00089             )), $this->qtype->get_possible_responses($q));
00090     }
00091 
00092     public function test_get_possible_responses_multi() {
00093         $q = $this->get_test_question_data();
00094         $q->options->single = false;
00095 
00096         $this->assertEqual(array(
00097             1 => array(1 => new question_possible_response('frog', 1)),
00098             2 => array(2 => new question_possible_response('toad', 0)),
00099         ), $this->qtype->get_possible_responses($q));
00100     }
00101 }
 All Data Structures Namespaces Files Functions Variables Enumerations