|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 // This file is part of Moodle - http://moodle.org/ 00004 // 00005 // Moodle is free software: you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation, either version 3 of the License, or 00008 // (at your option) any later version. 00009 // 00010 // Moodle is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 00017 00024 if (!defined('MOODLE_INTERNAL')) { 00025 die('Direct access to this script is forbidden.'); 00026 } 00027 00028 require_once($CFG->libdir . '/adminlib.php'); 00029 require_once($CFG->libdir . '/gradelib.php'); 00030 00038 class grade_test extends UnitTestCaseUsingDatabase { 00039 00040 public $grade_tables = array('lib' => array( 00041 'grade_categories', 'grade_categories_history', 00042 'scale', 'scale_history', 00043 'grade_items', 'grade_items_history', 00044 'grade_grades', 'grade_grades_history', 00045 'grade_outcomes', 'grade_outcomes_history','grade_outcomes_courses', 00046 'files', 00047 'modules', 00048 'course_modules'), 00049 'mod/quiz' => array('quiz') 00050 ); 00051 00052 public $grade_items = array(); 00053 public $grade_categories = array(); 00054 public $grade_grades = array(); 00055 public $grade_outcomes = array(); 00056 public $scale = array(); 00057 00058 public $activities = array(); 00059 public $courseid = 1; 00060 public $userid = 1; 00061 00066 function setUp() { 00067 global $CFG; 00068 00069 parent::setup(); 00070 $CFG->grade_droplow = -1; 00071 $CFG->grade_keephigh = -1; 00072 $CFG->grade_aggregation = -1; 00073 $CFG->grade_aggregateonlygraded = -1; 00074 $CFG->grade_aggregateoutcomes = -1; 00075 $CFG->grade_aggregatesubcats = -1; 00076 00077 $this->switch_to_test_db(); // All operations until end of test method will happen in test DB 00078 00079 foreach ($this->grade_tables as $dir => $tables) { 00080 $this->create_test_tables($tables, $dir); // Create tables 00081 foreach ($tables as $table) { // Fill them if load_xxx method is available 00082 $function = "load_$table"; 00083 if (method_exists($this, $function)) { 00084 $this->$function(); 00085 } 00086 } 00087 } 00088 00089 } 00090 00091 function tearDown() { 00092 parent::tearDown(); // All the test tables created in setUp will be dropped by this 00093 } 00094 00098 function load_scale() { 00099 global $DB; 00100 $scale = new stdClass(); 00101 00102 $scale->name = 'unittestscale1'; 00103 $scale->courseid = $this->courseid; 00104 $scale->userid = $this->userid; 00105 $scale->scale = 'Way off topic, Not very helpful, Fairly neutral, Fairly helpful, Supportive, Some good information, Perfect answer!'; 00106 $scale->description = 'This scale defines some of qualities that make posts helpful within the Moodle help forums.\n Your feedback will help others see how their posts are being received.'; 00107 $scale->timemodified = mktime(); 00108 00109 $scale->id = $DB->insert_record('scale', $scale); 00110 $this->scale[0] = $scale; 00111 $temp = explode(',', $scale->scale); 00112 $this->scalemax[0] = count($temp) -1; 00113 00114 $scale = new stdClass(); 00115 00116 $scale->name = 'unittestscale2'; 00117 $scale->courseid = $this->courseid; 00118 $scale->userid = $this->userid; 00119 $scale->scale = 'Distinction, Very Good, Good, Pass, Fail'; 00120 $scale->description = 'This scale is used to mark standard assignments.'; 00121 $scale->timemodified = mktime(); 00122 00123 $scale->id = $DB->insert_record('scale', $scale); 00124 $this->scale[1] = $scale; 00125 $temp = explode(',', $scale->scale); 00126 $this->scalemax[1] = count($temp) -1; 00127 00128 $scale = new stdClass(); 00129 00130 $scale->name = 'unittestscale3'; 00131 $scale->courseid = $this->courseid; 00132 $scale->userid = $this->userid; 00133 $scale->scale = 'Loner, Contentious, Disinterested, Participative, Follower, Leader'; 00134 $scale->description = 'Describes the level of teamwork of a student.'; 00135 $scale->timemodified = mktime(); 00136 $temp = explode(',', $scale->scale); 00137 $scale->max = count($temp) -1; 00138 00139 $scale->id = $DB->insert_record('scale', $scale); 00140 $this->scale[2] = $scale; 00141 $temp = explode(',', $scale->scale); 00142 $this->scalemax[2] = count($temp) -1; 00143 00144 $scale->name = 'unittestscale4'; 00145 $scale->courseid = $this->courseid; 00146 $scale->userid = $this->userid; 00147 $scale->scale = 'Does not understand theory, Understands theory but fails practice, Manages through, Excels'; 00148 $scale->description = 'Level of expertise at a technical task, with a theoretical framework.'; 00149 $scale->timemodified = mktime(); 00150 $temp = explode(',', $scale->scale); 00151 $scale->max = count($temp) -1; 00152 00153 $scale->id = $DB->insert_record('scale', $scale); 00154 $this->scale[3] = $scale; 00155 $temp = explode(',', $scale->scale); 00156 $this->scalemax[3] = count($temp) -1; 00157 00158 $scale->name = 'unittestscale5'; 00159 $scale->courseid = $this->courseid; 00160 $scale->userid = $this->userid; 00161 $scale->scale = 'Insufficient, Acceptable, Excellent.'; 00162 $scale->description = 'Description of skills.'; 00163 $scale->timemodified = mktime(); 00164 $temp = explode(',', $scale->scale); 00165 $scale->max = count($temp) -1; 00166 00167 $scale->id = $DB->insert_record('scale', $scale); 00168 $this->scale[4] = $scale; 00169 $temp = explode(',', $scale->scale); 00170 $this->scalemax[4] = count($temp) -1; 00171 } 00172 00186 function load_grade_categories() { 00187 global $DB; 00188 00189 $course_category = grade_category::fetch_course_category($this->courseid); 00190 00191 $grade_category = new stdClass(); 00192 00193 $grade_category->fullname = 'unittestcategory1'; 00194 $grade_category->courseid = $this->courseid; 00195 $grade_category->aggregation = GRADE_AGGREGATE_MEAN; 00196 $grade_category->aggregateonlygraded = 1; 00197 $grade_category->keephigh = 0; 00198 $grade_category->droplow = 0; 00199 $grade_category->parent = $course_category->id; 00200 $grade_category->timecreated = mktime(); 00201 $grade_category->timemodified = mktime(); 00202 $grade_category->depth = 2; 00203 00204 $grade_category->id = $DB->insert_record('grade_categories', $grade_category); 00205 $grade_category->path = '/'.$course_category->id.'/'.$grade_category->id.'/'; 00206 $DB->update_record('grade_categories', $grade_category); 00207 $this->grade_categories[0] = $grade_category; 00208 00209 $grade_category = new stdClass(); 00210 00211 $grade_category->fullname = 'unittestcategory2'; 00212 $grade_category->courseid = $this->courseid; 00213 $grade_category->aggregation = GRADE_AGGREGATE_MEAN; 00214 $grade_category->aggregateonlygraded = 1; 00215 $grade_category->keephigh = 0; 00216 $grade_category->droplow = 0; 00217 $grade_category->parent = $this->grade_categories[0]->id; 00218 $grade_category->timecreated = mktime(); 00219 $grade_category->timemodified = mktime(); 00220 $grade_category->depth = 3; 00221 00222 $grade_category->id = $DB->insert_record('grade_categories', $grade_category); 00223 $grade_category->path = $this->grade_categories[0]->path.$grade_category->id.'/'; 00224 $DB->update_record('grade_categories', $grade_category); 00225 $this->grade_categories[1] = $grade_category; 00226 00227 $grade_category = new stdClass(); 00228 00229 $grade_category->fullname = 'unittestcategory3'; 00230 $grade_category->courseid = $this->courseid; 00231 $grade_category->aggregation = GRADE_AGGREGATE_MEAN; 00232 $grade_category->aggregateonlygraded = 1; 00233 $grade_category->keephigh = 0; 00234 $grade_category->droplow = 0; 00235 $grade_category->parent = $this->grade_categories[0]->id; 00236 $grade_category->timecreated = mktime(); 00237 $grade_category->timemodified = mktime(); 00238 $grade_category->depth = 3; 00239 00240 $grade_category->id = $DB->insert_record('grade_categories', $grade_category); 00241 $grade_category->path = $this->grade_categories[0]->path.$grade_category->id.'/'; 00242 $DB->update_record('grade_categories', $grade_category); 00243 $this->grade_categories[2] = $grade_category; 00244 00245 // A category with no parent, but grade_items as children 00246 00247 $grade_category = new stdClass(); 00248 00249 $grade_category->fullname = 'level1category'; 00250 $grade_category->courseid = $this->courseid; 00251 $grade_category->aggregation = GRADE_AGGREGATE_MEAN; 00252 $grade_category->aggregateonlygraded = 1; 00253 $grade_category->keephigh = 0; 00254 $grade_category->droplow = 0; 00255 $grade_category->parent = $course_category->id; 00256 $grade_category->timecreated = mktime(); 00257 $grade_category->timemodified = mktime(); 00258 $grade_category->depth = 2; 00259 00260 $grade_category->id = $DB->insert_record('grade_categories', $grade_category); 00261 $grade_category->path = '/'.$course_category->id.'/'.$grade_category->id.'/'; 00262 $DB->update_record('grade_categories', $grade_category); 00263 $this->grade_categories[3] = $grade_category; 00264 } 00265 00269 function load_modules() { 00270 global $DB; 00271 $module = new stdClass(); 00272 $module->name = 'assignment'; 00273 $module->id = $DB->insert_record('modules', $module); 00274 $this->modules[0] = $module; 00275 00276 $module = new stdClass(); 00277 $module->name = 'quiz'; 00278 $module->id = $DB->insert_record('modules', $module); 00279 $this->modules[1] = $module; 00280 00281 $module = new stdClass(); 00282 $module->name = 'forum'; 00283 $module->id = $DB->insert_record('modules', $module); 00284 $this->modules[2] = $module; 00285 } 00286 00290 function load_course_modules() { 00291 global $DB; 00292 $course_module = new stdClass(); 00293 $course_module->course = $this->courseid; 00294 $quiz = new stdClass(); 00295 $quiz->module = 1; 00296 $quiz->instance = 2; 00297 $course_module->id = $DB->insert_record('course_modules', $course_module); 00298 $this->course_module[0] = $course_module; 00299 00300 $course_module = new stdClass(); 00301 $course_module->course = $this->courseid; 00302 $quiz->module = 2; 00303 $quiz->instance = 1; 00304 $course_module->id = $DB->insert_record('course_modules', $course_module); 00305 $this->course_module[0] = $course_module; 00306 00307 $course_module = new stdClass(); 00308 $course_module->course = $this->courseid; 00309 $quiz->module = 2; 00310 $quiz->instance = 5; 00311 $course_module->id = $DB->insert_record('course_modules', $course_module); 00312 $this->course_module[0] = $course_module; 00313 00314 $course_module = new stdClass(); 00315 $course_module->course = $this->courseid; 00316 $quiz->module = 3; 00317 $quiz->instance = 3; 00318 $course_module->id = $DB->insert_record('course_modules', $course_module); 00319 $this->course_module[0] = $course_module; 00320 00321 $course_module = new stdClass(); 00322 $course_module->course = $this->courseid; 00323 $quiz->module = 3; 00324 $quiz->instance = 7; 00325 $course_module->id = $DB->insert_record('course_modules', $course_module); 00326 $this->course_module[0] = $course_module; 00327 00328 $course_module = new stdClass(); 00329 $course_module->course = $this->courseid; 00330 $quiz->module = 3; 00331 $quiz->instance = 9; 00332 $course_module->id = $DB->insert_record('course_modules', $course_module); 00333 $this->course_module[0] = $course_module; 00334 } 00335 00339 function load_quiz_activities() { 00340 global $DB; 00341 $quiz = new stdClass(); 00342 $quiz->course = $this->courseid; 00343 $quiz->name = 'test quiz'; 00344 $quiz->intro = 'let us quiz you!'; 00345 $quiz->questions = '1,2'; 00346 $quiz->id = $DB->insert_record('quiz', $quiz); 00347 $this->activities[0] = $quiz; 00348 00349 $quiz = new stdClass(); 00350 $quiz->course = $this->courseid; 00351 $quiz->name = 'test quiz 2'; 00352 $quiz->intro = 'let us quiz you again!'; 00353 $quiz->questions = '1,3'; 00354 $quiz->id = $DB->insert_record('quiz', $quiz); 00355 $this->activities[1] = $quiz; 00356 } 00357 00361 function load_grade_items() { 00362 global $DB; 00363 00364 $course_category = grade_category::fetch_course_category($this->courseid); 00365 00366 // id = 0 00367 $grade_item = new stdClass(); 00368 00369 $grade_item->courseid = $this->courseid; 00370 $grade_item->categoryid = $this->grade_categories[1]->id; 00371 $grade_item->itemname = 'unittestgradeitem1'; 00372 $grade_item->itemtype = 'mod'; 00373 $grade_item->itemmodule = 'quiz'; 00374 $grade_item->iteminstance = 1; 00375 $grade_item->gradetype = GRADE_TYPE_VALUE; 00376 $grade_item->grademin = 30; 00377 $grade_item->grademax = 110; 00378 $grade_item->itemnumber = 1; 00379 $grade_item->idnumber = 'item id 0'; 00380 $grade_item->iteminfo = 'Grade item 0 used for unit testing'; 00381 $grade_item->timecreated = mktime(); 00382 $grade_item->timemodified = mktime(); 00383 $grade_item->sortorder = 3; 00384 00385 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00386 $this->grade_items[0] = $grade_item; 00387 00388 // id = 1 00389 $grade_item = new stdClass(); 00390 00391 $grade_item->courseid = $this->courseid; 00392 $grade_item->categoryid = $this->grade_categories[1]->id; 00393 $grade_item->itemname = 'unittestgradeitem2'; 00394 $grade_item->itemtype = 'import'; 00395 $grade_item->itemmodule = 'assignment'; 00396 $grade_item->calculation = '= ##gi'.$this->grade_items[0]->id.'## + 30 + [[item id 0]] - [[item id 0]]'; 00397 $grade_item->gradetype = GRADE_TYPE_VALUE; 00398 $grade_item->iteminstance = 2; 00399 $grade_item->itemnumber = null; 00400 $grade_item->grademin = 0; 00401 $grade_item->grademax = 100; 00402 $grade_item->iteminfo = 'Grade item 1 used for unit testing'; 00403 $grade_item->timecreated = mktime(); 00404 $grade_item->timemodified = mktime(); 00405 $grade_item->sortorder = 4; 00406 00407 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00408 $this->grade_items[1] = $grade_item; 00409 00410 // id = 2 00411 $grade_item = new stdClass(); 00412 00413 $grade_item->courseid = $this->courseid; 00414 $grade_item->categoryid = $this->grade_categories[2]->id; 00415 $grade_item->itemname = 'unittestgradeitem3'; 00416 $grade_item->itemtype = 'mod'; 00417 $grade_item->itemmodule = 'forum'; 00418 $grade_item->iteminstance = 3; 00419 $grade_item->gradetype = GRADE_TYPE_SCALE; 00420 $grade_item->scaleid = $this->scale[0]->id; 00421 $grade_item->grademin = 0; 00422 $grade_item->grademax = $this->scalemax[0]; 00423 $grade_item->iteminfo = 'Grade item 2 used for unit testing'; 00424 $grade_item->timecreated = mktime(); 00425 $grade_item->timemodified = mktime(); 00426 $grade_item->sortorder = 6; 00427 00428 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00429 $this->grade_items[2] = $grade_item; 00430 00431 // Load grade_items associated with the 3 categories 00432 // id = 3 00433 $grade_item = new stdClass(); 00434 00435 $grade_item->courseid = $this->courseid; 00436 $grade_item->iteminstance = $this->grade_categories[0]->id; 00437 $grade_item->itemname = 'unittestgradeitemcategory1'; 00438 $grade_item->needsupdate = 0; 00439 $grade_item->itemtype = 'category'; 00440 $grade_item->gradetype = GRADE_TYPE_VALUE; 00441 $grade_item->grademin = 0; 00442 $grade_item->grademax = 100; 00443 $grade_item->iteminfo = 'Grade item 3 used for unit testing'; 00444 $grade_item->timecreated = mktime(); 00445 $grade_item->timemodified = mktime(); 00446 $grade_item->sortorder = 1; 00447 00448 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00449 $this->grade_items[3] = $grade_item; 00450 00451 // id = 4 00452 $grade_item = new stdClass(); 00453 00454 $grade_item->courseid = $this->courseid; 00455 $grade_item->iteminstance = $this->grade_categories[1]->id; 00456 $grade_item->itemname = 'unittestgradeitemcategory2'; 00457 $grade_item->itemtype = 'category'; 00458 $grade_item->gradetype = GRADE_TYPE_VALUE; 00459 $grade_item->needsupdate = 0; 00460 $grade_item->grademin = 0; 00461 $grade_item->grademax = 100; 00462 $grade_item->iteminfo = 'Grade item 4 used for unit testing'; 00463 $grade_item->timecreated = mktime(); 00464 $grade_item->timemodified = mktime(); 00465 $grade_item->sortorder = 2; 00466 00467 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00468 $this->grade_items[4] = $grade_item; 00469 00470 // id = 5 00471 $grade_item = new stdClass(); 00472 00473 $grade_item->courseid = $this->courseid; 00474 $grade_item->iteminstance = $this->grade_categories[2]->id; 00475 $grade_item->itemname = 'unittestgradeitemcategory3'; 00476 $grade_item->itemtype = 'category'; 00477 $grade_item->gradetype = GRADE_TYPE_VALUE; 00478 $grade_item->needsupdate = true; 00479 $grade_item->grademin = 0; 00480 $grade_item->grademax = 100; 00481 $grade_item->iteminfo = 'Grade item 5 used for unit testing'; 00482 $grade_item->timecreated = mktime(); 00483 $grade_item->timemodified = mktime(); 00484 $grade_item->sortorder = 5; 00485 00486 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00487 $this->grade_items[5] = $grade_item; 00488 00489 // Orphan grade_item 00490 // id = 6 00491 $grade_item = new stdClass(); 00492 00493 $grade_item->courseid = $this->courseid; 00494 $grade_item->categoryid = $course_category->id; 00495 $grade_item->itemname = 'unittestorphangradeitem1'; 00496 $grade_item->itemtype = 'mod'; 00497 $grade_item->itemmodule = 'quiz'; 00498 $grade_item->iteminstance = 5; 00499 $grade_item->itemnumber = 0; 00500 $grade_item->gradetype = GRADE_TYPE_VALUE; 00501 $grade_item->grademin = 10; 00502 $grade_item->grademax = 120; 00503 $grade_item->locked = time(); 00504 $grade_item->iteminfo = 'Orphan Grade 6 item used for unit testing'; 00505 $grade_item->timecreated = mktime(); 00506 $grade_item->timemodified = mktime(); 00507 $grade_item->sortorder = 7; 00508 00509 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00510 $this->grade_items[6] = $grade_item; 00511 00512 // 2 grade items under level1category 00513 // id = 7 00514 $grade_item = new stdClass(); 00515 00516 $grade_item->courseid = $this->courseid; 00517 $grade_item->categoryid = $this->grade_categories[3]->id; 00518 $grade_item->itemname = 'singleparentitem1'; 00519 $grade_item->itemtype = 'mod'; 00520 $grade_item->itemmodule = 'forum'; 00521 $grade_item->iteminstance = 7; 00522 $grade_item->gradetype = GRADE_TYPE_SCALE; 00523 $grade_item->scaleid = $this->scale[0]->id; 00524 $grade_item->grademin = 0; 00525 $grade_item->grademax = $this->scalemax[0]; 00526 $grade_item->iteminfo = 'Grade item 7 used for unit testing'; 00527 $grade_item->timecreated = mktime(); 00528 $grade_item->timemodified = mktime(); 00529 $grade_item->sortorder = 9; 00530 00531 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00532 $this->grade_items[7] = $grade_item; 00533 00534 // id = 8 00535 $grade_item = new stdClass(); 00536 00537 $grade_item->courseid = $this->courseid; 00538 $grade_item->categoryid = $this->grade_categories[3]->id; 00539 $grade_item->itemname = 'singleparentitem2'; 00540 $grade_item->itemtype = 'mod'; 00541 $grade_item->itemmodule = 'forum'; 00542 $grade_item->iteminstance = 9; 00543 $grade_item->gradetype = GRADE_TYPE_VALUE; 00544 $grade_item->grademin = 0; 00545 $grade_item->grademax = 100; 00546 $grade_item->iteminfo = 'Grade item 8 used for unit testing'; 00547 $grade_item->timecreated = mktime(); 00548 $grade_item->timemodified = mktime(); 00549 $grade_item->sortorder = 10; 00550 00551 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00552 $this->grade_items[8] = $grade_item; 00553 00554 // Grade_item for level1category 00555 // id = 9 00556 $grade_item = new stdClass(); 00557 00558 $grade_item->courseid = $this->courseid; 00559 $grade_item->itemname = 'grade_item for level1 category'; 00560 $grade_item->itemtype = 'category'; 00561 $grade_item->itemmodule = 'quiz'; 00562 $grade_item->iteminstance = $this->grade_categories[3]->id; 00563 $grade_item->needsupdate = true; 00564 $grade_item->gradetype = GRADE_TYPE_VALUE; 00565 $grade_item->grademin = 0; 00566 $grade_item->grademax = 100; 00567 $grade_item->iteminfo = 'Orphan Grade item 9 used for unit testing'; 00568 $grade_item->timecreated = mktime(); 00569 $grade_item->timemodified = mktime(); 00570 $grade_item->sortorder = 8; 00571 00572 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00573 $this->grade_items[9] = $grade_item; 00574 00575 // Manual grade_item 00576 // id = 10 00577 $grade_item = new stdClass(); 00578 00579 $grade_item->courseid = $this->courseid; 00580 $grade_item->categoryid = $course_category->id; 00581 $grade_item->itemname = 'manual grade_item'; 00582 $grade_item->itemtype = 'manual'; 00583 $grade_item->itemnumber = 0; 00584 $grade_item->needsupdate = false; 00585 $grade_item->gradetype = GRADE_TYPE_VALUE; 00586 $grade_item->grademin = 0; 00587 $grade_item->grademax = 100; 00588 $grade_item->iteminfo = 'Manual grade item 10 used for unit testing'; 00589 $grade_item->timecreated = mktime(); 00590 $grade_item->timemodified = mktime(); 00591 00592 $grade_item->id = $DB->insert_record('grade_items', $grade_item); 00593 $this->grade_items[10] = $grade_item; 00594 } 00595 00599 function load_grade_grades() { 00600 global $DB; 00601 00602 //this method is called once for each test method. Avoid adding things to $this->grade_grades multiple times 00603 $this->grade_grades = array(); 00604 00605 // Grades for grade_item 1 00606 $grade = new stdClass(); 00607 $grade->itemid = $this->grade_items[0]->id; 00608 $grade->userid = 1; 00609 $grade->rawgrade = 15; // too small 00610 $grade->finalgrade = 30; 00611 $grade->timecreated = mktime(); 00612 $grade->timemodified = mktime(); 00613 $grade->information = '1 of 17 grade_grades'; 00614 $grade->informationformat = FORMAT_PLAIN; 00615 $grade->feedback = 'Good, but not good enough..'; 00616 $grade->feedbackformat = FORMAT_PLAIN; 00617 00618 $grade->id = $DB->insert_record('grade_grades', $grade); 00619 $this->grade_grades[0] = $grade; 00620 00621 $grade = new stdClass(); 00622 $grade->itemid = $this->grade_items[0]->id; 00623 $grade->userid = 2; 00624 $grade->rawgrade = 40; 00625 $grade->finalgrade = 40; 00626 $grade->timecreated = mktime(); 00627 $grade->timemodified = mktime(); 00628 $grade->information = '2 of 17 grade_grades'; 00629 00630 $grade->id = $DB->insert_record('grade_grades', $grade); 00631 $this->grade_grades[1] = $grade; 00632 00633 $grade = new stdClass(); 00634 $grade->itemid = $this->grade_items[0]->id; 00635 $grade->userid = 3; 00636 $grade->rawgrade = 170; // too big 00637 $grade->finalgrade = 110; 00638 $grade->timecreated = mktime(); 00639 $grade->timemodified = mktime(); 00640 $grade->information = '3 of 17 grade_grades'; 00641 00642 $grade->id = $DB->insert_record('grade_grades', $grade); 00643 $this->grade_grades[2] = $grade; 00644 00645 00646 // No raw grades for grade_item 2 - it is calculated 00647 00648 $grade = new stdClass(); 00649 $grade->itemid = $this->grade_items[1]->id; 00650 $grade->userid = 1; 00651 $grade->finalgrade = 72; 00652 $grade->timecreated = mktime(); 00653 $grade->timemodified = mktime(); 00654 $grade->information = '4 of 17 grade_grades'; 00655 00656 $grade->id = $DB->insert_record('grade_grades', $grade); 00657 $this->grade_grades[3] = $grade; 00658 00659 $grade = new stdClass(); 00660 $grade->itemid = $this->grade_items[1]->id; 00661 $grade->userid = 2; 00662 $grade->finalgrade = 92; 00663 $grade->timecreated = mktime(); 00664 $grade->timemodified = mktime(); 00665 $grade->information = '5 of 17 grade_grades'; 00666 00667 $grade->id = $DB->insert_record('grade_grades', $grade); 00668 $this->grade_grades[4] = $grade; 00669 00670 $grade = new stdClass(); 00671 $grade->itemid = $this->grade_items[1]->id; 00672 $grade->userid = 3; 00673 $grade->finalgrade = 100; 00674 $grade->timecreated = mktime(); 00675 $grade->timemodified = mktime(); 00676 $grade->information = '6 of 17 grade_grades'; 00677 00678 $grade->id = $DB->insert_record('grade_grades', $grade); 00679 $this->grade_grades[5] = $grade; 00680 00681 00682 // Grades for grade_item 3 00683 00684 $grade = new stdClass(); 00685 $grade->itemid = $this->grade_items[2]->id; 00686 $grade->userid = 1; 00687 $grade->rawgrade = 2; 00688 $grade->finalgrade = 6; 00689 $grade->scaleid = $this->scale[3]->id; 00690 $grade->timecreated = mktime(); 00691 $grade->timemodified = mktime(); 00692 $grade->information = '7 of 17 grade_grades'; 00693 00694 $grade->id = $DB->insert_record('grade_grades', $grade); 00695 $this->grade_grades[6] = $grade; 00696 00697 $grade = new stdClass(); 00698 $grade->itemid = $this->grade_items[2]->id; 00699 $grade->userid = 2; 00700 $grade->rawgrade = 3; 00701 $grade->finalgrade = 2; 00702 $grade->scaleid = $this->scale[3]->id; 00703 $grade->timecreated = mktime(); 00704 $grade->timemodified = mktime(); 00705 $grade->information = '8 of 17 grade_grades'; 00706 00707 $grade->id = $DB->insert_record('grade_grades', $grade); 00708 $this->grade_grades[] = $grade; 00709 00710 $grade = new stdClass(); 00711 $grade->itemid = $this->grade_items[2]->id; 00712 $grade->userid = 3; 00713 $grade->rawgrade = 1; 00714 $grade->finalgrade = 3; 00715 $grade->scaleid = $this->scale[3]->id; 00716 $grade->timecreated = mktime(); 00717 $grade->timemodified = mktime(); 00718 $grade->information = '9 of 17 grade_grades'; 00719 00720 $grade->id = $DB->insert_record('grade_grades', $grade); 00721 $this->grade_grades[] = $grade; 00722 00723 // Grades for grade_item 7 00724 00725 $grade = new stdClass(); 00726 $grade->itemid = $this->grade_items[6]->id; 00727 $grade->userid = 1; 00728 $grade->rawgrade = 97; 00729 $grade->finalgrade = 69; 00730 $grade->timecreated = mktime(); 00731 $grade->timemodified = mktime(); 00732 $grade->information = '10 of 17 grade_grades'; 00733 00734 $grade->id = $DB->insert_record('grade_grades', $grade); 00735 $this->grade_grades[] = $grade; 00736 00737 $grade = new stdClass(); 00738 $grade->itemid = $this->grade_items[6]->id; 00739 $grade->userid = 2; 00740 $grade->rawgrade = 49; 00741 $grade->finalgrade = 87; 00742 $grade->timecreated = mktime(); 00743 $grade->timemodified = mktime(); 00744 $grade->information = '11 of 17 grade_grades'; 00745 00746 $grade->id = $DB->insert_record('grade_grades', $grade); 00747 $this->grade_grades[] = $grade; 00748 00749 $grade = new stdClass(); 00750 $grade->itemid = $this->grade_items[6]->id; 00751 $grade->userid = 3; 00752 $grade->rawgrade = 67; 00753 $grade->finalgrade = 94; 00754 $grade->timecreated = mktime(); 00755 $grade->timemodified = mktime(); 00756 $grade->information = '12 of 17 grade_grades'; 00757 00758 $grade->id = $DB->insert_record('grade_grades', $grade); 00759 $this->grade_grades[] = $grade; 00760 00761 // Grades for grade_item 8 00762 00763 $grade = new stdClass(); 00764 $grade->itemid = $this->grade_items[7]->id; 00765 $grade->userid = 2; 00766 $grade->rawgrade = 3; 00767 $grade->finalgrade = 3; 00768 $grade->timecreated = mktime(); 00769 $grade->timemodified = mktime(); 00770 $grade->information = '13 of 17 grade_grades'; 00771 00772 $grade->id = $DB->insert_record('grade_grades', $grade); 00773 $this->grade_grades[] = $grade; 00774 00775 $grade = new stdClass(); 00776 $grade->itemid = $this->grade_items[7]->id; 00777 $grade->userid = 3; 00778 $grade->rawgrade = 6; 00779 $grade->finalgrade = 6; 00780 $grade->timecreated = mktime(); 00781 $grade->timemodified = mktime(); 00782 $grade->information = '14 of 17 grade_grades'; 00783 00784 $grade->id = $DB->insert_record('grade_grades', $grade); 00785 $this->grade_grades[] = $grade; 00786 00787 // Grades for grade_item 9 00788 00789 $grade = new stdClass(); 00790 $grade->itemid = $this->grade_items[8]->id; 00791 $grade->userid = 1; 00792 $grade->rawgrade = 20; 00793 $grade->finalgrade = 20; 00794 $grade->timecreated = mktime(); 00795 $grade->timemodified = mktime(); 00796 $grade->information = '15 of 17 grade_grades'; 00797 00798 $grade->id = $DB->insert_record('grade_grades', $grade); 00799 $this->grade_grades[] = $grade; 00800 00801 $grade = new stdClass(); 00802 $grade->itemid = $this->grade_items[8]->id; 00803 $grade->userid = 2; 00804 $grade->rawgrade = 50; 00805 $grade->finalgrade = 50; 00806 $grade->timecreated = mktime(); 00807 $grade->timemodified = mktime(); 00808 $grade->information = '16 of 17 grade_grades'; 00809 00810 $grade->id = $DB->insert_record('grade_grades', $grade); 00811 $this->grade_grades[] = $grade; 00812 00813 $grade = new stdClass(); 00814 $grade->itemid = $this->grade_items[8]->id; 00815 $grade->userid = 3; 00816 $grade->rawgrade = 100; 00817 $grade->finalgrade = 100; 00818 $grade->timecreated = mktime(); 00819 $grade->timemodified = mktime(); 00820 $grade->information = '17 of 17 grade_grades'; 00821 00822 $grade->id = $DB->insert_record('grade_grades', $grade); 00823 $this->grade_grades[] = $grade; 00824 } 00825 00829 function load_grade_outcomes() { 00830 global $DB; 00831 00832 //this method is called once for each test method. Avoid adding things to $this->grade_outcomes multiple times 00833 $this->grade_outcomes = array(); 00834 00835 // Calculation for grade_item 1 00836 $grade_outcome = new stdClass(); 00837 $grade_outcome->fullname = 'Team work'; 00838 $grade_outcome->shortname = 'Team work'; 00839 $grade_outcome->fullname = 'Team work outcome'; 00840 $grade_outcome->timecreated = mktime(); 00841 $grade_outcome->timemodified = mktime(); 00842 $grade_outcome->scaleid = $this->scale[2]->id; 00843 00844 $grade_outcome->id = $DB->insert_record('grade_outcomes', $grade_outcome); 00845 $this->grade_outcomes[] = $grade_outcome; 00846 00847 // Calculation for grade_item 2 00848 $grade_outcome = new stdClass(); 00849 $grade_outcome->fullname = 'Complete circuit board'; 00850 $grade_outcome->shortname = 'Complete circuit board'; 00851 $grade_outcome->fullname = 'Complete circuit board'; 00852 $grade_outcome->timecreated = mktime(); 00853 $grade_outcome->timemodified = mktime(); 00854 $grade_outcome->scaleid = $this->scale[3]->id; 00855 00856 $grade_outcome->id = $DB->insert_record('grade_outcomes', $grade_outcome); 00857 $this->grade_outcomes[] = $grade_outcome; 00858 00859 // Calculation for grade_item 3 00860 $grade_outcome = new stdClass(); 00861 $grade_outcome->fullname = 'Debug Java program'; 00862 $grade_outcome->shortname = 'Debug Java program'; 00863 $grade_outcome->fullname = 'Debug Java program'; 00864 $grade_outcome->timecreated = mktime(); 00865 $grade_outcome->timemodified = mktime(); 00866 $grade_outcome->scaleid = $this->scale[4]->id; 00867 00868 $grade_outcome->id = $DB->insert_record('grade_outcomes', $grade_outcome); 00869 $this->grade_outcomes[] = $grade_outcome; 00870 } 00871 00876 } 00877 00878