Spaces:
Sleeping
Sleeping
| from sql_query_reviewer.models import SQLReviewAction, TaskRecord | |
| from server.grader import grade_episode, match_issue, validate_fix | |
| from server.environment import SQLReviewEnvironment | |
| def test_match_issue_finds_expected_easy_issue() -> None: | |
| environment = SQLReviewEnvironment() | |
| task = environment.tasks["easy_002"] | |
| action = SQLReviewAction( | |
| action_type="identify_issue", | |
| issue_category="syntax", | |
| issue_description="The query is missing the FROM clause before users.", | |
| confidence=0.95, | |
| ) | |
| match, score = match_issue(action, task.ground_truth_issues, set()) | |
| assert match is not None | |
| assert match.id == "easy_002_missing_from" | |
| assert score >= 0.35 | |
| def test_validate_fix_accepts_expected_remediation() -> None: | |
| environment = SQLReviewEnvironment() | |
| task = environment.tasks["easy_003"] | |
| assert validate_fix("SELECT order_id, total FROM orders WHERE shipped_at IS NULL;", task.ground_truth_issues[0]) | |
| def test_grade_episode_is_deterministic_and_bounded() -> None: | |
| environment = SQLReviewEnvironment() | |
| task = environment.tasks["medium_001"] | |
| first = grade_episode({"medium_001_select_star"}, task.ground_truth_issues, total_steps=2, max_steps=5, false_positive_count=1) | |
| second = grade_episode({"medium_001_select_star"}, task.ground_truth_issues, total_steps=2, max_steps=5, false_positive_count=1) | |
| assert first == second | |
| assert 0.0 <= first <= 1.0 | |