+
+ // System setting not showing letters.
+ set_config('grade_displaytype', '2');
+ for ($i = 0; $i < 37; $i++) {
+ unset_config('gradebook_calculations_freeze_' . $courses[$i]->id);
+ }
+ upgrade_course_letter_boundary();
+
+ // [27] A course with no grade display settings for the course or grade items.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[27]->id}));
+ // [28] A course with grade display settings, but for something that isn't letters.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[28]->id}));
+ // [29] A course with grade display settings of letters which are default.
+ $this->assertEquals(20160516, $CFG->{'gradebook_calculations_freeze_' . $courses[29]->id});
+ // [30] A course with grade display settings of letters which are not default, but not affected.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[30]->id}));
+ // [31] A course with grade display settings of letters which are not default, which will be affected.
+ $this->assertEquals(20160516, $CFG->{'gradebook_calculations_freeze_' . $courses[31]->id});
+ // [32] A grade item with display settings which are not letters.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[32]->id}));
+ // [33] All system defaults.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[33]->id}));
+ // [34] A grade item with display settings of letters which are not default, but not affected. Course uses new letter boundary setting.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[34]->id}));
+ // [35] A grade item with display settings of letters which are not default, which will be affected.
+ $this->assertEquals(20160516, $CFG->{'gradebook_calculations_freeze_' . $courses[35]->id});
+ // [36] A course with grade display settings of letters with modified and good boundary (not 57) Should not be frozen.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[36]->id}));