+
+ // Previous site conditions still exist.
+ for ($i = 0; $i < 45; $i++) {
+ unset_config('gradebook_calculations_freeze_' . $courses[$i]->id);
+ }
+ upgrade_course_letter_boundary();
+
+ // [37] Site setting for not showing the letter column and course setting set to show (frozen).
+ $this->assertEquals(20160518, $CFG->{'gradebook_calculations_freeze_' . $courses[37]->id});
+ // [38] Site setting for not showing the letter column and course setting set to hide.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[38]->id}));
+ // [39] Site setting for not showing the letter column and course setting set to default.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[39]->id}));
+ // [40] Site setting for not showing the letter column and course setting set to default. Course display set to letters (frozen).
+ $this->assertEquals(20160518, $CFG->{'gradebook_calculations_freeze_' . $courses[40]->id});
+ // [41] Site setting for not showing the letter column and course setting set to default. Grade item display set to letters (frozen).
+ $this->assertEquals(20160518, $CFG->{'gradebook_calculations_freeze_' . $courses[41]->id});
+
+ // Previous site conditions still exist.
+ for ($i = 0; $i < 45; $i++) {
+ unset_config('gradebook_calculations_freeze_' . $courses[$i]->id);
+ }
+ set_config('grade_report_user_showlettergrade', '1');
+ upgrade_course_letter_boundary();
+
+ // [42] Site setting for showing the letter column, but course setting set to hide.
+ $this->assertTrue(empty($CFG->{'gradebook_calculations_freeze_' . $courses[42]->id}));
+ // [43] Site setting for showing the letter column and course setting set to show (frozen).
+ $this->assertEquals(20160518, $CFG->{'gradebook_calculations_freeze_' . $courses[43]->id});
+ // [44] Site setting for showing the letter column and course setting set to default (frozen).
+ $this->assertEquals(20160518, $CFG->{'gradebook_calculations_freeze_' . $courses[44]->id});