MDL-50028 questions: split into one testcase class per file
authorTim Hunt <T.J.Hunt@open.ac.uk>
Tue, 28 Apr 2015 10:59:24 +0000 (11:59 +0100)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Tue, 28 Apr 2015 12:07:25 +0000 (13:07 +0100)
question/type/tests/question_first_matching_answer_grading_strategy_test.php [moved from question/type/tests/questionbase_test.php with 67% similarity]
question/type/tests/question_hint_test.php [new file with mode: 0644]

 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 
 /**
- * Unit tests for the question definition base classes.
+ * Unit tests for the question_first_matching_answer_grading_strategy class.
  *
- * @package    moodlecore
- * @subpackage questiontypes
- * @copyright  2008 The Open University
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ * @package   core_question
+ * @copyright 2008 The Open University
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-
 defined('MOODLE_INTERNAL') || die();
 
 global $CFG;
@@ -31,7 +29,7 @@ require_once($CFG->dirroot . '/question/type/questiontypebase.php');
 
 
 /**
- * Unit tests for the question definition base classes.
+ * Helper used by the testcases in this file.
  *
  * @copyright  2008 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
@@ -52,13 +50,14 @@ class test_response_answer_comparer implements question_response_answer_comparer
     }
 }
 
+
 /**
  * Tests for {@link question_first_matching_answer_grading_strategy}.
  *
  * @copyright  2008 The Open University
  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
-class question_first_matching_answer_grading_strategy_test extends advanced_testcase {
+class question_first_matching_answer_grading_strategy_testcase extends advanced_testcase {
     protected function setUp() {
     }
 
@@ -94,39 +93,3 @@ class question_first_matching_answer_grading_strategy_test extends advanced_test
         $this->assertNull($strategy->grade(array('answer' => 'toad')));
     }
 }
-
-
-/**
- * Test for question_hint and subclasses.
- *
- * @copyright  2010 The Open University
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-class question_hint_test extends advanced_testcase {
-    public function test_basic() {
-        $row = new stdClass();
-        $row->id = 123;
-        $row->hint = 'A hint';
-        $row->hintformat = FORMAT_HTML;
-        $hint = question_hint::load_from_record($row);
-        $this->assertEquals($row->id, $hint->id);
-        $this->assertEquals($row->hint, $hint->hint);
-        $this->assertEquals($row->hintformat, $hint->hintformat);
-    }
-
-    public function test_with_parts() {
-        $row = new stdClass();
-        $row->id = 123;
-        $row->hint = 'A hint';
-        $row->hintformat = FORMAT_HTML;
-        $row->shownumcorrect = 1;
-        $row->clearwrong = 1;
-
-        $hint = question_hint_with_parts::load_from_record($row);
-        $this->assertEquals($row->id, $hint->id);
-        $this->assertEquals($row->hint, $hint->hint);
-        $this->assertEquals($row->hintformat, $hint->hintformat);
-        $this->assertNotEmpty($hint->shownumcorrect);
-        $this->assertNotEmpty($hint->clearwrong);
-    }
-}
diff --git a/question/type/tests/question_hint_test.php b/question/type/tests/question_hint_test.php
new file mode 100644 (file)
index 0000000..8f6e6b2
--- /dev/null
@@ -0,0 +1,64 @@
+<?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/>.
+
+/**
+ * Unit tests for the question_hint and subclasses.
+ *
+ * @package   core_question
+ * @copyright 2008 The Open University
+ * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+global $CFG;
+require_once($CFG->dirroot . '/question/type/questiontypebase.php');
+
+
+/**
+ * Test for question_hint and subclasses.
+ *
+ * @copyright  2010 The Open University
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class question_hint_testcase extends advanced_testcase {
+    public function test_basic() {
+        $row = new stdClass();
+        $row->id = 123;
+        $row->hint = 'A hint';
+        $row->hintformat = FORMAT_HTML;
+        $hint = question_hint::load_from_record($row);
+        $this->assertEquals($row->id, $hint->id);
+        $this->assertEquals($row->hint, $hint->hint);
+        $this->assertEquals($row->hintformat, $hint->hintformat);
+    }
+
+    public function test_with_parts() {
+        $row = new stdClass();
+        $row->id = 123;
+        $row->hint = 'A hint';
+        $row->hintformat = FORMAT_HTML;
+        $row->shownumcorrect = 1;
+        $row->clearwrong = 1;
+
+        $hint = question_hint_with_parts::load_from_record($row);
+        $this->assertEquals($row->id, $hint->id);
+        $this->assertEquals($row->hint, $hint->hint);
+        $this->assertEquals($row->hintformat, $hint->hintformat);
+        $this->assertNotEmpty($hint->shownumcorrect);
+        $this->assertNotEmpty($hint->clearwrong);
+    }
+}