📄 testgradecategory.php
字号:
function test_grade_category_generate_grades() { $category = new grade_category($this->grade_categories[3]); $this->assertTrue(method_exists($category, 'generate_grades')); $category->load_grade_item(); $grades = get_records('grade_grades', 'itemid', $category->grade_item->id); $this->assertFalse($grades); $category->generate_grades(); $grades = get_records('grade_grades', 'itemid', $category->grade_item->id); $this->assertEqual(3, count($grades)); $rawvalues = array(); foreach ($grades as $grade) { $this->assertWithinMargin($grade->rawgrade, $grade->rawgrademin, $grade->rawgrademax); $rawvalues[] = (int)$grade->rawgrade; } sort($rawvalues); // calculated mean results $this->assertEqual($rawvalues, array(20,50,100)); } */ function test_grade_category_aggregate_grades() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'aggregate_grades')); // tested above in test_grade_category_generate_grades() } function test_grade_category_apply_limit_rules() { $category = new grade_category(); $grades = array(5.374, 9.4743, 2.5474, 7.3754); $category->droplow = 2; $category->apply_limit_rules($grades); sort($grades, SORT_NUMERIC); $this->assertEqual(array(7.3754, 9.4743), $grades); $category = new grade_category(); $grades = array(5.374, 9.4743, 2.5474, 7.3754); $category->keephigh = 1; $category->droplow = 0; $category->apply_limit_rules($grades); $this->assertEqual(count($grades), 1); $grade = reset($grades); $this->assertEqual(9.4743, $grade); } /** * TODO implement */ function test_grade_category_is_aggregationcoef_used() { } function test_grade_category_fetch_course_tree() { $category = new grade_category(); $this->assertTrue(method_exists($category, 'fetch_course_tree')); //TODO: add some tests } function test_grade_category_get_children() { $course_category = grade_category::fetch_course_category($this->courseid); $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'get_children')); $children_array = $category->get_children(0); $this->assertTrue(is_array($children_array)); $this->assertFalse(empty($children_array[2])); $this->assertFalse(empty($children_array[2]['object'])); $this->assertFalse(empty($children_array[2]['children'])); $this->assertEqual($this->grade_categories[1]->id, $children_array[2]['object']->id); $this->assertEqual($this->grade_categories[2]->id, $children_array[5]['object']->id); $this->assertEqual($this->grade_items[0]->id, $children_array[2]['children'][3]['object']->id); $this->assertEqual($this->grade_items[1]->id, $children_array[2]['children'][4]['object']->id); $this->assertEqual($this->grade_items[2]->id, $children_array[5]['children'][6]['object']->id); } function test_grade_category_load_grade_item() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'load_grade_item')); $this->assertEqual(null, $category->grade_item); $category->load_grade_item(); $this->assertEqual($this->grade_items[3]->id, $category->grade_item->id); } function test_grade_category_get_grade_item() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'get_grade_item')); $grade_item = $category->get_grade_item(); $this->assertEqual($this->grade_items[3]->id, $grade_item->id); } function test_grade_category_load_parent_category() { $category = new grade_category($this->grade_categories[1]); $this->assertTrue(method_exists($category, 'load_parent_category')); $this->assertEqual(null, $category->parent_category); $category->load_parent_category(); $this->assertEqual($this->grade_categories[0]->id, $category->parent_category->id); } function test_grade_category_get_parent_category() { $category = new grade_category($this->grade_categories[1]); $this->assertTrue(method_exists($category, 'get_parent_category')); $parent_category = $category->get_parent_category(); $this->assertEqual($this->grade_categories[0]->id, $parent_category->id); } function test_grade_category_get_name() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'get_name')); $this->assertEqual($this->grade_categories[0]->fullname, $category->get_name()); } function test_grade_category_set_parent() { $category = new grade_category($this->grade_categories[1]); $this->assertTrue(method_exists($category, 'set_parent')); // TODO: implement detailed tests $course_category = grade_category::fetch_course_category($this->courseid); $this->assertTrue($category->set_parent($course_category->id)); $this->assertEqual($course_category->id, $category->parent); } function test_grade_category_get_final() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'get_final')); $category->load_grade_item(); $this->assertEqual($category->get_final(), $category->grade_item->get_final()); } function test_grade_category_get_sortorder() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'get_sortorder')); $category->load_grade_item(); $this->assertEqual($category->get_sortorder(), $category->grade_item->get_sortorder()); } function test_grade_category_set_sortorder() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'set_sortorder')); $category->load_grade_item(); $this->assertEqual($category->set_sortorder(10), $category->grade_item->set_sortorder(10)); } function test_grade_category_move_after_sortorder() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'move_after_sortorder')); $category->load_grade_item(); $this->assertEqual($category->move_after_sortorder(10), $category->grade_item->move_after_sortorder(10)); } function test_grade_category_is_course_category() { $category = grade_category::fetch_course_category($this->courseid); $this->assertTrue(method_exists($category, 'is_course_category')); $this->assertTrue($category->is_course_category()); } function test_grade_category_fetch_course_category() { $category = new grade_category(); $this->assertTrue(method_exists($category, 'fetch_course_category')); $category = grade_category::fetch_course_category($this->courseid); $this->assertTrue(empty($category->parent)); } /** * TODO implement */ function test_grade_category_is_editable() { } function test_grade_category_is_locked() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'is_locked')); $category->load_grade_item(); $this->assertEqual($category->is_locked(), $category->grade_item->is_locked()); } function test_grade_category_set_locked() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'set_locked')); $this->assertTrue($category->set_locked(1)); } function test_grade_category_is_hidden() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'is_hidden')); $category->load_grade_item(); $this->assertEqual($category->is_hidden(), $category->grade_item->is_hidden()); } function test_grade_category_set_hidden() { $category = new grade_category($this->grade_categories[0]); $this->assertTrue(method_exists($category, 'set_hidden')); $category->set_hidden(1); $category->load_grade_item(); $this->assertEqual(true, $category->grade_item->is_hidden()); } function generate_random_raw_grade($item, $userid) { $grade = new grade_grade(); $grade->itemid = $item->id; $grade->userid = $userid; $grade->grademin = 0; $grade->grademax = 1; $valuetype = "grade$item->gradetype"; $grade->rawgrade = rand(0, 1000) / 1000; $grade->insert(); return $grade->rawgrade; }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -