Skip to content

Commit

Permalink
MDL-40449 use data generator to create random qs
Browse files Browse the repository at this point in the history
  • Loading branch information
jamiepratt authored and Sam Hemelryk committed Jul 10, 2013
1 parent 0683222 commit 7614990
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
52 changes: 52 additions & 0 deletions question/type/random/tests/helper.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Test helpers for the random question type.
*
* @package qtype_random
* @copyright 2013 The Open University
* @author Jamie Pratt <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/


defined('MOODLE_INTERNAL') || die();


/**
* Test helper class for the random question type.
*
* @copyright 2013 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class qtype_random_test_helper extends question_test_helper {
public function get_test_questions() {
return array('basic');
}

/**
* Gets the question form data for a random question which selects just from
* it's own category and not from sub categories. Category id is not set.
* @return stdClass
*/
public function get_random_question_form_data_basic() {
$form = new stdClass();
$form->questiontext = array('text' => '');
$form->includingsubcategories = '0';
return $form;
}
}
14 changes: 14 additions & 0 deletions question/type/random/tests/questiontype_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,18 @@ public function test_get_random_guess_score() {
public function test_get_possible_responses() {
$this->assertEquals(array(), $this->qtype->get_possible_responses(null));
}

public function test_question_creation() {
$this->resetAfterTest();
$generator = $this->getDataGenerator()->get_plugin_generator('core_question');
$cat = $generator->create_question_category();
$question1 = $generator->create_question('shortanswer', null, array('category' => $cat->id));
$question2 = $generator->create_question('numerical', null, array('category' => $cat->id));

$randomquestion = $generator->create_question('random', null, array('category' => $cat->id));

$q = question_bank::load_question($randomquestion->id);

$this->assertContains($q->id, array($question1->id, $question2->id));
}
}

0 comments on commit 7614990

Please sign in to comment.