Spaces:
Running
Running
| import pytest | |
| import eval_code | |
| TYPICAL_ANSWER = """[ | |
| { | |
| "criteria": "DRY", | |
| "explanation": "The memory allocation and initialization for ``p1``, ``p2``, and ``p3`` are repetitive. Consider creating a function like ``allocateAndInitializeMemory``." | |
| }, | |
| { | |
| "criteria": "SRP", | |
| "explanation": "The ``main`` function handles memory allocation, initialization, and printing. You should separate these responsibilities into different functions like ``allocateMemory``, ``initializeData``, and ``printData``." | |
| }, | |
| { | |
| "criteria": "NAME", | |
| "explanation": "``x1`` should be called ``title``, ``y1`` should be called ``author``, ``z1`` should be called ``year``, ``p1`` should be called ``titlePtr``, ``p2`` should be called ``authorPtr``, ``p3`` should be called ``yearPtr``." | |
| } | |
| ]""" | |
| def test_parse_chatgpt_answer(): | |
| ans = eval_code.parse_chatgpt_answer(TYPICAL_ANSWER) | |
| assert ans is not None | |
| assert len(ans) > 0 | |
| an_eval = ans[0] | |
| assert "criteria" in an_eval.keys() | |
| assert "explanation" in an_eval.keys() | |