本文整理汇总了PHP中grade_category::generate_grades方法的典型用法代码示例。如果您正苦于以下问题:PHP grade_category::generate_grades方法的具体用法?PHP grade_category::generate_grades怎么用?PHP grade_category::generate_grades使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类grade_category
的用法示例。
在下文中一共展示了grade_category::generate_grades方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sub_test_grade_category_generate_grades_aggregationweight
/**
* Tests the setting of the grade_grades aggregationweight column.
* Currently, this is only a regression test for MDL-51715.
* This must be run before sub_test_grade_category_set_parent(), which alters
* the fixture.
*/
protected function sub_test_grade_category_generate_grades_aggregationweight()
{
global $DB;
// Start of regression test for MDL-51715.
// grade_categories [1] and [2] are child categories of [0]
// Ensure that grades have been generated with fixture data.
$childcat1 = new grade_category($this->grade_categories[1]);
$childcat1itemid = $childcat1->load_grade_item()->id;
$childcat1->generate_grades();
$childcat2 = new grade_category($this->grade_categories[2]);
$childcat2itemid = $childcat2->load_grade_item()->id;
$childcat2->generate_grades();
$parentcat = new grade_category($this->grade_categories[0]);
$parentcat->generate_grades();
// Drop low and and re-generate to produce 'dropped' aggregation status.
$parentcat->droplow = 1;
$parentcat->generate_grades();
$this->assertTrue($DB->record_exists_select('grade_grades', "aggregationstatus='dropped' and itemid in (?,?)", array($childcat1itemid, $childcat2itemid)));
$this->assertFalse($DB->record_exists_select('grade_grades', "aggregationstatus='dropped' and aggregationweight > 0.00"), "aggregationweight should be 0.00 if aggregationstatus=='dropped'");
// Reset grade data to be consistent with fixture data.
$parentcat->droplow = 0;
$parentcat->generate_grades();
// Blank out the final grade for one of the child categories and re-generate
// to produce 'novalue' aggregationstatus. Direct DB update is testing shortcut.
$DB->set_field('grade_grades', 'finalgrade', null, array('itemid' => $childcat1itemid));
$parentcat->generate_grades();
$this->assertTrue($DB->record_exists_select('grade_grades', "aggregationstatus='novalue' and itemid = ?", array($childcat1itemid)));
$this->assertFalse($DB->record_exists_select('grade_grades', "aggregationstatus='novalue' and aggregationweight > 0.00"), "aggregationweight should be 0.00 if aggregationstatus=='novalue'");
// Re-generate to be consistent with fixture data.
$childcat1->generate_grades();
$parentcat->generate_grades();
// End of regression test for MDL-51715.
}