17 lines
912 B
Python
17 lines
912 B
Python
from didactopus.learner_state import LearnerState, EvidenceEvent
|
|
from didactopus.progression_engine import apply_evidence
|
|
from didactopus.orchestration_models import LearnerProfile, RunState, StopCriteria
|
|
from didactopus.orchestrator import run_learning_cycle
|
|
|
|
def test_learning_cycle_returns_recommendations():
|
|
concepts = [
|
|
{"id": "a", "title": "A", "prerequisites": []},
|
|
{"id": "b", "title": "B", "prerequisites": ["a"]},
|
|
]
|
|
learner = LearnerState(learner_id="u1")
|
|
apply_evidence(learner, EvidenceEvent(concept_id="a", dimension="mastery", score=0.9, confidence_hint=0.9, timestamp="2026-03-13T12:00:00+00:00"))
|
|
run = RunState(profile=LearnerProfile(learner_id="u1"))
|
|
crit = StopCriteria(min_mastered_concepts=10, min_average_score=0.8, min_average_confidence=0.7)
|
|
result = run_learning_cycle(learner, run, concepts, crit)
|
|
assert "recommendation_cards" in result
|