Example #1
0
def test_test_exercise_pass(conn, sct):
    result = {'id': [1], 'name': ['greg']}
    sct_payload = te(sct=sct,
                     student_code="SELECT * FROM company",
                     solution_code="SELECT * FROM company",
                     pre_exercise_code="",
                     student_conn=conn,
                     solution_conn=None,
                     student_result=result,
                     solution_result=result,
                     ex_type="NormalExercise",
                     error=[])

    assert sct_payload.get('correct') is True
Example #2
0
def test_test_exercise_fail(conn, sct):
    sol_result = {'id': [1], 'name': ['greg']}
    stu_result = {'id2': [1, 2], 'name2': ['greg', 'fred'], 'c': [1, 2]}
    sct_payload = te(sct=sct,
                     student_code="SELECT * FROM company",
                     solution_code="SELECT id FROM company",
                     pre_exercise_code="",
                     student_conn=conn,
                     solution_conn=None,
                     student_result=stu_result,
                     solution_result=sol_result,
                     ex_type="NormalExercise",
                     error=[])

    assert sct_payload.get('correct') is False
Example #3
0
def test_test_exercise_pass(conn, sct):
    result = {"id": [1], "name": ["greg"]}
    sct_payload = te(
        sct=sct,
        student_code="SELECT * FROM company",
        solution_code="SELECT * FROM company",
        pre_exercise_code="",
        student_conn=conn,
        solution_conn=None,
        student_result=result,
        solution_result=result,
        ex_type="NormalExercise",
        error=[],
    )

    assert sct_payload.get("correct") is True
Example #4
0
def test_error_handling(sct, passes, msg):
    sct_payload = te(
        sct = sct,
        student_code = "",
        solution_code = "",
        pre_exercise_code = "",
        student_conn = None,
        solution_conn = None,
        student_result = {},
        solution_result = {},
        ex_type="NormalExercise",
        error=['an error']
    )

    assert sct_payload.get('correct') == passes
    if msg: assert sct_payload.get('message') == msg
Example #5
0
def test_test_error(conn):
    sct_payload = te(sct="Ex().test_error('NEW MESSAGE')",
                     student_code="SELECT * FROM company",
                     solution_code="SELECT id FROM company",
                     pre_exercise_code="",
                     student_conn=conn,
                     solution_conn=None,
                     student_result=None,
                     solution_result=None,
                     ex_type="NormalExercise",
                     error=[{
                         'type': 'error',
                         'payload': 'error payload'
                     }])

    assert sct_payload.get('message') == "NEW MESSAGE"
Example #6
0
def test_allow_error(conn):
    sct_payload = te(sct="Ex().allow_error()",
                     student_code="SELECT * FROM company",
                     solution_code="SELECT id FROM company",
                     pre_exercise_code="",
                     student_conn=conn,
                     solution_conn=None,
                     student_result=None,
                     solution_result=None,
                     ex_type="NormalExercise",
                     error=[{
                         'type': 'error',
                         'payload': 'error payload'
                     }])

    assert sct_payload.get('correct') is True
Example #7
0
def test_fail(conn):
    sol_result = {"id": [1], "name": ["greg"]}
    stu_result = {"id": [1, 2], "name": ["greg", "fred"]}
    sct_payload = te(
        sct="Ex().check_result()",
        student_code="SELECT * FROM company",
        solution_code="SELECT * FROM company",
        pre_exercise_code="",
        student_conn=conn,
        solution_conn=None,
        student_result=stu_result,
        solution_result=sol_result,
        ex_type="NormalExercise",
        error=[],
    )

    assert sct_payload.get("correct") is False