| |
| import asyncio |
| import sys |
| import os |
|
|
| |
| sys.path.append(os.getcwd()) |
|
|
| from orchestrator import BuddyOrchestrator |
| from proof_graph import ProofStep, ProofGraph, validate_pedagogical_legality |
| import curriculum_engine |
|
|
| async def test_grade_7_violation(): |
| print("🧪 Testing Grade 7 Violation (Equation Systems)...") |
| orchestrator = BuddyOrchestrator() |
| |
| |
| grade = "7" |
| level = "4" |
| problem_text = "פתור את מערכת המשוואות: x+y=10, x-y=2" |
| |
| |
| rules = curriculum_engine.get_allowed_math_operators(grade, level) |
| print(f"📋 Rules for Grade 7: Forbidden={rules['forbidden']}") |
| |
| |
| bad_steps = [ |
| ProofStep(1, "x+y=10, x-y=2", "Original System"), |
| ProofStep(2, "x=6, y=4", "Solved System", operator_used="SYSTEM_OF_EQUATIONS") |
| ] |
| bad_graph = ProofGraph(bad_steps) |
| |
| |
| is_legal, reason = validate_pedagogical_legality(bad_graph, rules) |
| |
| if not is_legal: |
| print(f"✅ Success: Pedagogy Guard correctly REJECTED Grade 7 system solver. Reason: {reason}") |
| else: |
| print("❌ Failure: Pedagogy Guard ALLOWED forbidden operator.") |
|
|
| async def test_grade_8_allowed(): |
| print("\n🧪 Testing Grade 8 Allowed (Equation Systems)...") |
| grade = "8" |
| rules = curriculum_engine.get_allowed_math_operators(grade) |
| |
| steps = [ |
| ProofStep(1, "x+y=10, x-y=2", "Original System"), |
| ProofStep(2, "x=6, y=4", "Solved System", operator_used="SYSTEM_OF_EQUATIONS") |
| ] |
| graph = ProofGraph(steps) |
| |
| is_legal, reason = validate_pedagogical_legality(graph, rules) |
| |
| if is_legal: |
| print(f"✅ Success: Pedagogy Guard correctly ALLOWED Grade 8 system solver.") |
| else: |
| print(f"❌ Failure: Pedagogy Guard REJECTED allowed operator. Reason: {reason}") |
|
|
| if __name__ == "__main__": |
| asyncio.run(test_grade_7_violation()) |
| asyncio.run(test_grade_8_allowed()) |
|
|