Files

33 lines
883 B
Python

"""WriterState 测试(P5-T5)。"""
from genesis.writer.writer_state import WriterState
from genesis.writer.models import ChapterContent
from genesis.eval.scorer import EvalReport
def _content(cid, version=1):
return ChapterContent(chapter_id=cid, version=version, title="x", blocks=[])
def _report(failed):
return EvalReport(
dimensions=[], total_score=0.0, passed=False, failed_chapters=failed,
)
def test_initial_state_empty():
st = WriterState(["a", "b"])
assert st.needs_regeneration() == ["a", "b"]
def test_record_success_clears_need():
st = WriterState(["a"])
st.record_success(_content("a"))
assert st.needs_regeneration() == []
def test_failed_eval_marks_regeneration():
st = WriterState(["a"])
st.record_success(_content("a"))
st.record_eval("a", _report(["a"]))
assert st.needs_regeneration() == ["a"]