Exemple #1
0
def test_float_input():
    """
    Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)
        grade_to_gpa(-20.5)
Exemple #2
0
def test_bool_input():
    """
    Boolean inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(True)
        grade_to_gpa(False)
def test_array_input():
    """
    Array inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa([1, 2, 3])
    with pytest.raises(TypeError):
        grade_to_gpa(['A', 'A+', 'B-'])
Exemple #4
0
def test_array_input():
    """
    Array inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa([1, 2, 3])
    with pytest.raises(TypeError):
        grade_to_gpa(['A', 'A+', 'B-'])
def test_float_input():
    """
    Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)

# add functions for any other tests
def test_letter_input():
    """
    Grade inputs
    """
    with pytest.raises(ValueError):
        grade_to_gpa("a+")

    with pytest.raises(ValueError):
        grade_to_gpa("v")
def test_wrong_input_type():

    # Float Inputs
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)

    # Boolean Inputs
    with pytest.raises(TypeError):
        grade_to_gpa(True)
Exemple #8
0
def test_wrong_input_type():

    # Float Inputs
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)

    # Boolean Inputs
    with pytest.raises(TypeError):
        grade_to_gpa(True)
Exemple #9
0
def test_float_input():
    """
    Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)


# add functions for any other tests
Exemple #10
0
def test_letter_input():
    """
    Grade inputs
    """
    with pytest.raises(ValueError):
        grade_to_gpa("a+")

    with pytest.raises(ValueError):
        grade_to_gpa("v")
def test_gpa_consistency():
    """
    Makes sure that the letters and numbers return the same values
    """
    assert grade_to_gpa(100) == grade_to_gpa("A+")
    assert grade_to_gpa(80) == grade_to_gpa("A-")
    assert grade_to_gpa(70) == grade_to_gpa("B-")
    assert grade_to_gpa(50) == grade_to_gpa("FZ")
def test_gpa_consistency():
    """
    Makes sure that the letters and numbers return the same values
    """
    assert grade_to_gpa(100) == grade_to_gpa("A+")
    assert grade_to_gpa(80) == grade_to_gpa("A-")
    assert grade_to_gpa(70) == grade_to_gpa("B-")
    assert grade_to_gpa(50) == grade_to_gpa("FZ")
Exemple #13
0
def test_letter_grade():
    """
    Letter grade inputs
    """
    assert grade_to_gpa("A+") == 4.0, "test letter: Case 1"
    assert grade_to_gpa("A") == 4.0, "test letter: Case 2"
    assert grade_to_gpa("A-") == 3.7, "test letter: Case 3"
    assert grade_to_gpa("B+") == 3.3, "test letter: Case 4"
    assert grade_to_gpa("B") == 3.0, "test letter: Case 5"
    assert grade_to_gpa("B-") == 2.7, "test letter: Case 6"
    assert grade_to_gpa("FZ") == 0.0, "test letter: Case 7"

    with pytest.raises(ValueError):
        grade_to_gpa("q")
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")
Exemple #15
0
def test_letter_grade():
    """
    Letter grade inputs
    """
    assert grade_to_gpa("A+") == 4.3
    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

    with pytest.raises(ValueError):
        grade_to_gpa("q")
def test_float_input():
    """
        Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)

    with pytest.raises(TypeError):
        grade_to_gpa(79.9)

    with pytest.raises(TypeError):
        grade_to_gpa(0.4)

    with pytest.raises(TypeError):
        grade_to_gpa(99.9)

    with pytest.raises(TypeError):
        grade_to_gpa(59.9)
def test_float_input():
    """
        Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)

    with pytest.raises(TypeError):
        grade_to_gpa(79.9)

    with pytest.raises(TypeError):
        grade_to_gpa(0.4)

    with pytest.raises(TypeError):
        grade_to_gpa(99.9)

    with pytest.raises(TypeError):
        grade_to_gpa(59.9)
def test_float_input():
    """
    Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)
    with pytest.raises(TypeError):
        grade_to_gpa(98.5)
    with pytest.raises(TypeError):
        grade_to_gpa(68.7)
    with pytest.raises(TypeError):
        grade_to_gpa(85.54)
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)
def test_invalid_input():
    """
    Float, tuple and list inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)
    with pytest.raises(TypeError):
        grade_to_gpa(['A+', 100])
    with pytest.raises(TypeError):
        grade_to_gpa(('B+', 79))
def test_invalid_input():
    """
    Float, tuple and list inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)
    with pytest.raises(TypeError):
        grade_to_gpa(['A+', 100])
    with pytest.raises(TypeError):
        grade_to_gpa(('B+', 79))
Exemple #22
0
def test_string_input():
    """
    String inputs
    """
    with exercise1.raises(ValueError):
        grade_to_gpa("Sentences")

    with exercise1.raises(ValueError):
        grade_to_gpa("This is")

    with exercise1.raises(ValueError):
        grade_to_gpa("Invalid")
Exemple #23
0
def test_float_input():
    """
    Float inputs
    """
    with exercise1.raises(TypeError):
        grade_to_gpa(82.5)

    with exercise1.raises(TypeError):
        grade_to_gpa(-30.07)

    with exercise1.raises(TypeError):
        grade_to_gpa(50600)
def test_string_input():
    """
    String inputs
    """
    with exercise1.raises(ValueError):
        grade_to_gpa("Sentences")

    with exercise1.raises(ValueError):
        grade_to_gpa("This is")

    with exercise1.raises(ValueError):
        grade_to_gpa("Invalid")
def test_float_input():
    """
    Float inputs
    """
    with exercise1.raises(TypeError):
        grade_to_gpa(82.5)

    with exercise1.raises(TypeError):
        grade_to_gpa(-30.07)

    with exercise1.raises(TypeError):
        grade_to_gpa(50600)
Exemple #26
0
def test_float_input():
    """
    Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)

    with pytest.raises(TypeError):
        grade_to_gpa(3.141)

    with pytest.raises(TypeError):
        grade_to_gpa(2.7)
Exemple #27
0
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")
        # more tests for invalid values
        grade_to_gpa("C")
        grade_to_gpa("+")
def test_cornercase_input():
    """
        Check Corner Testcases - Checking the cases that are right on the boundary.
    """
    assert grade_to_gpa(90) == 4.0
    assert grade_to_gpa(70) == 2.7
def test_percentage_grade():
    """
    Numeric grade inputs
    """
    assert grade_to_gpa(100) == 4.0
    assert grade_to_gpa(95) == 4.0
    assert grade_to_gpa(90) == 4.0
    
    assert grade_to_gpa(89) == 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(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(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(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    # test for invalid values
    with exercise1.raises(ValueError):
        grade_to_gpa(101)
        grade_to_gpa(-1)
        grade_to_gpa(-50)
        grade_to_gpa(120)
Exemple #30
0
def test_percentage_grade():
    """
    Numeric grade inputs
    """
    assert grade_to_gpa(100) == 4.0
    assert grade_to_gpa(95) == 4.0
    assert grade_to_gpa(90) == 4.0

    assert grade_to_gpa(89) == 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(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(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(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    # test for invalid values
    with exercise1.raises(ValueError):
        grade_to_gpa(101)
        grade_to_gpa(-1)
        grade_to_gpa(-50)
        grade_to_gpa(120)
Exemple #31
0
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-") == 4.0
    assert grade_to_gpa("B+") == 4.0
    assert grade_to_gpa("B") == 4.0
    assert grade_to_gpa("B-") == 4.0
    assert grade_to_gpa("FZ") == 4.0

    # tests for invalid values
    with exercise1.raises(ValueError):
        grade_to_gpa("q")
        grade_to_gpa("E")
        grade_to_gpa("BP")
        grade_to_gpa("z")
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-") == 4.0
    assert grade_to_gpa("B+") == 4.0
    assert grade_to_gpa("B") == 4.0
    assert grade_to_gpa("B-") == 4.0
    assert grade_to_gpa("FZ") == 4.0

    # tests for invalid values
    with exercise1.raises(ValueError):
        grade_to_gpa("q")
        grade_to_gpa("E")
        grade_to_gpa("BP")
        grade_to_gpa("z")
def test_numerical_grade():
    """
    Integer mark (numerical grade) inputs
    """
    assert grade_to_gpa(100) == 4.0
    assert grade_to_gpa(95) == 4.0
    assert grade_to_gpa(90) == 4.0
    
    assert grade_to_gpa(89) == 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(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(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(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    # Integer mark (numeric grade) input greater than 100
    with pytest.raises(ValueError):
        grade_to_gpa(101)

    # Integer mark (numeric grade) input less than 0 (i.e. negative grade)
    with pytest.raises(ValueError):
        grade_to_gpa(-1)
def test_percentage_grade():
    """
    Numeric grade inputs
    """
    assert grade_to_gpa(100) == 4.0
    assert grade_to_gpa(95) == 4.0
    assert grade_to_gpa(90) == 4.0

    assert grade_to_gpa(89) == 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(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(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(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    with pytest.raises(ValueError):
        grade_to_gpa(101)

    with pytest.raises(ValueError):
        grade_to_gpa(-1)
Exemple #35
0
def test_numerical_grade():
    """
    Integer mark (numerical grade) inputs
    """
    assert grade_to_gpa(100) == 4.0
    assert grade_to_gpa(95) == 4.0
    assert grade_to_gpa(90) == 4.0

    assert grade_to_gpa(89) == 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(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(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(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    # Integer mark (numeric grade) input greater than 100
    with pytest.raises(ValueError):
        grade_to_gpa(101)

    # Integer mark (numeric grade) input less than 0 (i.e. negative grade)
    with pytest.raises(ValueError):
        grade_to_gpa(-1)
Exemple #36
0
def test_special_char_input():
    with pytest.raises(ValueError):
        grade_to_gpa("@#?")
Exemple #37
0
def test_tuple_input():
    """
    Tuple inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa((1, 2, 3, "DANGER, WILL ROBINSON"))
def test_float_input():
    """
    Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)  # does not accept floats
Exemple #39
0
    assert grade_to_gpa(0) == 0.0, "test letter: Case 21"

    with pytest.raises(ValueError):
        grade_to_gpa(101)
        grade_to_gpa(-1)


def test_float_input():
    """
    Float inputs
    """
    with pytest.raises(TypeError):
        grade_to_gpa(82.5)

# add functions for any other tests

# imports one per line
import pytest

from exercise1 import grade_to_gpa

grade = input("Enter Grade: ")
if grade.isdigit():
    grade = int(grade)
    print(grade_to_gpa(grade))
else:
    print(grade_to_gpa(grade))
test_float_input()
test_letter_grade()
test_percentage_grade()
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
    # further tests for invalid values
    with pytest.raises(ValueError):
        grade_to_gpa("q")
    with pytest.raises(ValueError):
        grade_to_gpa("C-")
    with pytest.raises(ValueError):
        grade_to_gpa('A++')
    with pytest.raises(ValueError):
        grade_to_gpa('85%')
Exemple #41
0
def test_percentage_grade():
    """
    Numeric grade inputs
    """
    assert grade_to_gpa(100) == 4.0, "test letter: Case 1"
    assert grade_to_gpa(95) == 4.0, "test letter: Case 2"
    assert grade_to_gpa(90) == 4.0, "test letter: Case 3"

    assert grade_to_gpa(89) == 4.0, "test letter: Case 4"
    assert grade_to_gpa(87) == 4.0, "test letter: Case 5"
    assert grade_to_gpa(85) == 4.0, "test letter: Case 6"

    assert grade_to_gpa(84) == 3.7, "test letter: Case 7"
    assert grade_to_gpa(82) == 3.7, "test letter: Case 8"
    assert grade_to_gpa(80) == 3.7, "test letter: Case 9"

    assert grade_to_gpa(79) == 3.3, "test letter: Case 10"
    assert grade_to_gpa(78) == 3.3, "test letter: Case 11"
    assert grade_to_gpa(77) == 3.3, "test letter: Case 12"

    assert grade_to_gpa(76) == 3.0, "test letter: Case 13"
    assert grade_to_gpa(74) == 3.0, "test letter: Case 14"
    assert grade_to_gpa(73) == 3.0, "test letter: Case 15"

    assert grade_to_gpa(72) == 2.7, "test letter: Case 16"
    assert grade_to_gpa(71) == 2.7, "test letter: Case 17"
    assert grade_to_gpa(70) == 2.7, "test letter: Case 18"

    assert grade_to_gpa(69) == 0.0, "test letter: Case 19"
    assert grade_to_gpa(37) == 0.0, "test letter: Case 20"
    assert grade_to_gpa(0) == 0.0, "test letter: Case 21"

    with pytest.raises(ValueError):
        grade_to_gpa(101)
        grade_to_gpa(-1)
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
    # further tests for invalid values
    with pytest.raises(ValueError):
        grade_to_gpa("q")
    with pytest.raises(ValueError):
        grade_to_gpa("C-")
    with pytest.raises(ValueError):
        grade_to_gpa('A++')
    with pytest.raises(ValueError):
        grade_to_gpa('85%')
def test_special_char_input():
    with pytest.raises(ValueError):
        grade_to_gpa("@#?")
Exemple #44
0
def test_percentage_grade():
    """
    Numeric grade inputs
    """

    # Positive tests
    assert grade_to_gpa(100) == 4.0
    assert grade_to_gpa(95) == 4.0
    assert grade_to_gpa(90) == 4.0
    
    assert grade_to_gpa(89) == 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(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(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(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    # Negative Tests

    assert grade_to_gpa(100) == 0.0
    assert grade_to_gpa(95) == 1.0
    assert grade_to_gpa(90) == 2.7

    assert grade_to_gpa(89) == 3.0
    assert grade_to_gpa(87) == 1.1
    assert grade_to_gpa(85) == 0.0

    assert grade_to_gpa(84) == 4.0
    assert grade_to_gpa(82) == 1.0
    assert grade_to_gpa(80) == 3.3

    assert grade_to_gpa(79) == 2.7
    assert grade_to_gpa(78) == 4.0
    assert grade_to_gpa(77) == 3.7

    assert grade_to_gpa(76) == 4.0
    assert grade_to_gpa(74) == 2.7
    assert grade_to_gpa(73) == 0.0

    assert grade_to_gpa(72) == 4.0
    assert grade_to_gpa(71) == 3.3
    assert grade_to_gpa(70) == 0.0

    assert grade_to_gpa(69) == 0.0
    assert grade_to_gpa(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    # Integer inputs that are out of valid range (0-100).
    with pytest.raises(ValueError):
        grade_to_gpa(101)
    with pytest.raises(ValueError):
        grade_to_gpa(-1)

    # Float test (wrong type!)
    with pytest.raises(TypeError):
        grade_to_gpa(50.0)
def test_cornercase_input():
    """
        Check Corner Testcases - Checking the cases that are right on the boundary.
    """
    assert grade_to_gpa(90) == 4.0
    assert grade_to_gpa(70) == 2.7
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):
        # tests for invalid string values
        grade_to_gpa("q5")
        grade_to_gpa("a+")
        grade_to_gpa("good")
        grade_to_gpa("6%")
def test_percentage_grade():
    """
    Numeric grade inputs
    """
    assert grade_to_gpa(100) == 4.0
    assert grade_to_gpa(95) == 4.0
    assert grade_to_gpa(90) == 4.0
    
    assert grade_to_gpa(89) == 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(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(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(37) == 0.0
    assert grade_to_gpa(0) == 0.0

    with pytest.raises(ValueError):
        grade_to_gpa(101)
    with pytest.raises(ValueError):
        grade_to_gpa(-1)
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

    # Test for invalid letter grade input
    with pytest.raises(ValueError):
        grade_to_gpa("Q")

    # Test for invalid input - special characters
    with pytest.raises(ValueError):
        grade_to_gpa("+")

    with pytest.raises(ValueError):
        grade_to_gpa("A*")

    # Test for invalid input - numeric input
    with pytest.raises(ValueError):
        grade_to_gpa("88")

    with pytest.raises(ValueError):
        grade_to_gpa("9+")
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")  # not within letter grade range
    with pytest.raises(ValueError):
        grade_to_gpa("a+")  # not correct format; capitalization
    with pytest.raises(ValueError):
        grade_to_gpa("A Plus")  # not correct spelling
    with pytest.raises(ValueError):
        grade_to_gpa("Perfect!")  # not proper input value
Exemple #50
0
def test_letter_grade():
    """
    Letter grade inputs
    """

    # Positive Tests
    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

    # Negative Tests
    assert grade_to_gpa("A+") == 0.0
    assert grade_to_gpa("A") == 3.7
    assert grade_to_gpa("A-") == 3.3
    assert grade_to_gpa("B+") == 3.0
    assert grade_to_gpa("B") == 2.7
    assert grade_to_gpa("B-") == 0.0
    assert grade_to_gpa("FZ") == 4.0

    # Invalid string inputs
    with pytest.raises(ValueError):
        grade_to_gpa("q")
    with pytest.raises(ValueError):
        grade_to_gpa("wfucgwiubwt")
    with pytest.raises(ValueError):
        grade_to_gpa("1234567890")