Didactopus/tests/test_progression_engine.py

33 lines
1.0 KiB
Python

from didactopus.learner_state import LearnerState, EvidenceEvent
from didactopus.progression_engine import apply_evidence, decay_confidence
def test_apply_evidence_creates_record():
state = LearnerState(learner_id="u1")
event = EvidenceEvent(
concept_id="c1",
dimension="mastery",
score=0.8,
confidence_hint=0.7,
timestamp="2026-03-13T12:00:00+00:00",
)
apply_evidence(state, event)
rec = state.get_record("c1", "mastery")
assert rec is not None
assert rec.evidence_count == 1
assert rec.score > 0
def test_decay_confidence_reduces_confidence():
state = LearnerState(learner_id="u1")
event = EvidenceEvent(
concept_id="c1",
dimension="mastery",
score=0.9,
confidence_hint=0.9,
timestamp="2026-01-01T12:00:00+00:00",
)
apply_evidence(state, event)
before = state.get_record("c1", "mastery").confidence
decay_confidence(state, "2026-03-13T12:00:00+00:00")
after = state.get_record("c1", "mastery").confidence
assert after < before