Didactopus/tests/test_stop_criteria.py

14 lines
728 B
Python

from didactopus.learner_state import LearnerState, MasteryRecord
from didactopus.orchestration_models import LearnerProfile, RunState, StopCriteria
from didactopus.stop_criteria import assess_claim_readiness
def test_claim_readiness_true_when_threshold_met():
learner = LearnerState(
learner_id="u1",
records=[MasteryRecord(concept_id="c1", dimension="mastery", score=0.9, confidence=0.8, evidence_count=3, last_updated="2026-03-13T12:00:00+00:00")]
)
run = RunState(profile=LearnerProfile(learner_id="u1"))
crit = StopCriteria(min_mastered_concepts=1, min_average_score=0.7, min_average_confidence=0.6)
result = assess_claim_readiness(learner, run, crit)
assert result["ready"] is True