This repository has been archived by the owner on Mar 10, 2022. It is now read-only.
forked from benevolentprof/inf1340_2014_asst1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_exercise1.py
97 lines (76 loc) · 2.24 KB
/
test_exercise1.py
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/usr/bin/env python3
""" Module to test exercise1.py """
__author__ = 'Susan Sim'
__email__ = "ses@drsusansim.org"
__copyright__ = "2014 Susan Sim"
__license__ = "MIT License"
__status__ = "Prototype"
# imports one per line
import pytest
from exercise1 import grade_to_gpa
def test_letter_grade():
"""
Letter grade inputs
"""
assert grade_to_gpa("A+") == 4.0
assert grade_to_gpa("A") == 4.0
assert grade_to_gpa("A-") == 3.7
assert grade_to_gpa("B+") == 3.3
assert grade_to_gpa("B") == 3.0
assert grade_to_gpa("B-") == 2.7
assert grade_to_gpa("FZ") == 0.0
with pytest.raises(ValueError):
grade_to_gpa("q")
grade_to_gpa("abc")
grade_to_gpa("")
def test_percentage_grade():
"""
Numeric grade inputs
"""
assert grade_to_gpa(100) == 4.0
assert grade_to_gpa(97) == 4.0
assert grade_to_gpa(95) == 4.0
assert grade_to_gpa(92) == 4.0
assert grade_to_gpa(90) == 4.0
assert grade_to_gpa(89) == 4.0
assert grade_to_gpa(88) == 4.0
assert grade_to_gpa(87) == 4.0
assert grade_to_gpa(85) == 4.0
assert grade_to_gpa(84) == 3.7
assert grade_to_gpa(82) == 3.7
assert grade_to_gpa(81) == 3.7
assert grade_to_gpa(80) == 3.7
assert grade_to_gpa(79) == 3.3
assert grade_to_gpa(78) == 3.3
assert grade_to_gpa(77) == 3.3
assert grade_to_gpa(76) == 3.0
assert grade_to_gpa(75) == 3.0
assert grade_to_gpa(74) == 3.0
assert grade_to_gpa(73) == 3.0
assert grade_to_gpa(72) == 2.7
assert grade_to_gpa(71) == 2.7
assert grade_to_gpa(70) == 2.7
assert grade_to_gpa(69) == 0.0
assert grade_to_gpa(50) == 0.0
assert grade_to_gpa(37) == 0.0
assert grade_to_gpa(28) == 0.0
assert grade_to_gpa(0) == 0.0
with pytest.raises(ValueError):
grade_to_gpa(101)
grade_to_gpa(-1)
def test_float_input():
"""
Float inputs
"""
#Tests if there are errors in the input format
with pytest.raises(TypeError):
grade_to_gpa(82.5)
with pytest.raises(TypeError):
grade_to_gpa(0.0)
with pytest.raises(TypeError):
grade_to_gpa(-100.0)
with pytest.raises(TypeError):
grade_to_gpa(74.4)
test_letter_grade()
test_percentage_grade()
test_float_input()