From d0cd4de2dd103d1f04f37506faa984a3688e56cf Mon Sep 17 00:00:00 2001 From: Dan Poltawski Date: Wed, 14 Aug 2013 10:45:33 +0800 Subject: [PATCH] MDL-41157 calendar: add unit tests for calendar_get_course_cached --- calendar/tests/lib_test.php | 71 +++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 calendar/tests/lib_test.php diff --git a/calendar/tests/lib_test.php b/calendar/tests/lib_test.php new file mode 100644 index 00000000000..c405b969a36 --- /dev/null +++ b/calendar/tests/lib_test.php @@ -0,0 +1,71 @@ +. + +/** + * Calendar lib unit tests + * + * @package core_calendar + * @copyright 2013 Dan Poltawski + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); +global $CFG; +require_once($CFG->dirroot . '/calendar/lib.php'); + +/** + * Unit tests for calendar lib + * + * @package core_calendar + * @copyright 2013 Dan Poltawski + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class core_calendar_lib_testcase extends advanced_testcase { + + public function test_calendar_get_course_cached() { + $this->resetAfterTest(true); + + // Setup some test courses. + $course1 = $this->getDataGenerator()->create_course(); + $course2 = $this->getDataGenerator()->create_course(); + $course3 = $this->getDataGenerator()->create_course(); + + // Load courses into cache. + $coursecache = null; + calendar_get_course_cached($coursecache, $course1->id); + calendar_get_course_cached($coursecache, $course2->id); + calendar_get_course_cached($coursecache, $course3->id); + + // Verify the cache. + $this->assertArrayHasKey($course1->id, $coursecache); + $cachedcourse1 = $coursecache[$course1->id]; + $this->assertEquals($course1->id, $cachedcourse1->id); + $this->assertEquals($course1->shortname, $cachedcourse1->shortname); + $this->assertEquals($course1->fullname, $cachedcourse1->fullname); + + $this->assertArrayHasKey($course2->id, $coursecache); + $cachedcourse2 = $coursecache[$course2->id]; + $this->assertEquals($course2->id, $cachedcourse2->id); + $this->assertEquals($course2->shortname, $cachedcourse2->shortname); + $this->assertEquals($course2->fullname, $cachedcourse2->fullname); + + $this->assertArrayHasKey($course3->id, $coursecache); + $cachedcourse3 = $coursecache[$course3->id]; + $this->assertEquals($course3->id, $cachedcourse3->id); + $this->assertEquals($course3->shortname, $cachedcourse3->shortname); + $this->assertEquals($course3->fullname, $cachedcourse3->fullname); + } +}