summaryrefslogtreecommitdiff
path: root/grades/tests/test_models.py
blob: 89708e2f22576822e1642cd6bc4228705512ef21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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)