from django.test import TestCase from grades.models import GradingSystem, GradeRange # Create your tests here. class GradingSystemTestCase(TestCase): def setUp(self): GradingSystem.objects.create(name='unusable') def test_get_grade(self): # Given grading_system = GradingSystem.objects.get(name='default') expected_grades = {0:'F', 31:'F', 49:'P', 55:'C', 60:'B', 80:'A', 95:'A+', 100:'A+', 100.5:'A+', 101:None, 109:None} for marks in expected_grades.keys(): # When grade = grading_system.get_grade(marks) # Then self.assertEqual(expected_grades.get(marks), grade) def test_grade_system_unusable(self): # Given grading_system = GradingSystem.objects.get(name='unusable') # When grade = grading_system.get_grade(29) # Then self.assertIsNone(grade)