update
This commit is contained in:
@@ -75,6 +75,7 @@ async def test_keiner_atome_nicht_erneut_gefragt():
|
||||
db.insert("soll", topic=topic, punkt="Punkt", status="bestaetigt")
|
||||
aid = _atom(topic, "Fremdes Atom", "Definition ohne Bezug zum Punkt hier.")
|
||||
task = {"run_id": run_id, "topic": topic, "runde": 1, "item": "z0",
|
||||
"knoten": "soll_zuordnung",
|
||||
"payload": db.j({"atom_ids": [aid]})}
|
||||
# Fake-Zuordnung antwortet KEINER (Titel unbekannt) → Atom bleibt ohne Soll
|
||||
erg = await inventar.soll_zuordnung(task)
|
||||
@@ -83,7 +84,8 @@ async def test_keiner_atome_nicht_erneut_gefragt():
|
||||
assert atom["soll_id"] is None and atom["soll_geprueft"] == 1
|
||||
# Dedup erzeugt für dieses Atom KEINE neue Zuordnungs-Aufgabe mehr
|
||||
erg2 = await dedup.dedup({"run_id": run_id, "topic": topic, "runde": 1,
|
||||
"item": "r1:dedup", "payload": "{}"})
|
||||
"knoten": "dedup", "item": "r1:dedup",
|
||||
"payload": "{}"})
|
||||
assert erg2.neue_tasks == []
|
||||
|
||||
|
||||
@@ -127,7 +129,7 @@ async def test_enthalten_merged_in_den_umfassenderen():
|
||||
"Deutlich längere Definition mit allen Sonderfällen und mehr "
|
||||
"Kontext für Lernende.", soll_id=sid, quelle=2, start=0, ende=10)
|
||||
await dedup.dedup({"run_id": run_id, "topic": topic, "runde": 1,
|
||||
"item": "r1:dedup", "payload": "{}"})
|
||||
"knoten": "dedup", "item": "r1:dedup", "payload": "{}"})
|
||||
gewinner = db.one("SELECT id FROM atome WHERE topic=? AND status='aktiv'",
|
||||
topic)
|
||||
assert gewinner["id"] == lang # längere Definition gewinnt
|
||||
@@ -199,7 +201,7 @@ async def test_fehlendes_urteil_nachcall_dann_befund(monkeypatch):
|
||||
|
||||
monkeypatch.setattr(llm_mod, "call", ohne_urteil)
|
||||
await dedup.dedup({"run_id": run_id, "topic": topic, "runde": 1,
|
||||
"item": "r1:dedup", "payload": "{}"})
|
||||
"knoten": "dedup", "item": "r1:dedup", "payload": "{}"})
|
||||
assert calls["n"] == 4 # 2 Panel-Stimmen + 2 Nach-Call-Stimmen
|
||||
assert db.one("SELECT id FROM befunde WHERE run_id=? AND art='parse'",
|
||||
run_id)
|
||||
@@ -207,3 +209,42 @@ async def test_fehlendes_urteil_nachcall_dann_befund(monkeypatch):
|
||||
aktiv = db.query("SELECT id FROM atome WHERE topic=? AND status='aktiv'",
|
||||
topic)
|
||||
assert {r["id"] for r in aktiv} == {a, b} # nichts still verschmolzen
|
||||
|
||||
|
||||
def test_fakten_kanal_findet_studien_paraphrase():
|
||||
"""Audit: „Ariga & Lleras 2011" stand 3× im Guide, Wort-Jaccard nur 0.21 —
|
||||
geteilte Zahlen+Namen machen das Paar jetzt zum Kandidaten."""
|
||||
topic = topic_anlegen()
|
||||
_section(topic, 0, "Die Untersuchung von Ariga und Lleras aus dem Jahr "
|
||||
"2011 zeigte über lange Zeit stabile Aufmerksamkeit "
|
||||
"bei den Probanden im Labor.")
|
||||
_section(topic, 1, "Kurze bewusste Unterbrechungen halfen laut Ariga "
|
||||
"sowie Lleras 2011 den Teilnehmern messbar besser "
|
||||
"durch anstrengende Arbeitsphasen zu kommen.",
|
||||
ziel_suffix="2")
|
||||
paare = redundanz.kandidaten_paare(topic)
|
||||
assert len(paare) == 1
|
||||
|
||||
|
||||
async def test_wortgleiche_paare_ohne_freispruch(monkeypatch):
|
||||
"""Fast wörtliche Paare (gemeinsame 5-Wort-Folge) darf das Panel nicht
|
||||
als „didaktisch gewollt" freisprechen — immer Befund."""
|
||||
from backend import llm as llm_mod
|
||||
topic = topic_anlegen()
|
||||
run_id = db.insert("runs", topic=topic, status="running")
|
||||
satz = ("Die Pausen sollten proportional zur Arbeitszeit verlängert "
|
||||
"werden, sagt die Studie aus Maastricht deutlich.")
|
||||
_section(topic, 0, satz)
|
||||
_section(topic, 1, satz + " Dazu kommt hier noch ein Zusatz.",
|
||||
ziel_suffix="2")
|
||||
|
||||
async def gewollt(**kw):
|
||||
return "===URTEIL===\nPAAR: 1\nURTEIL: didaktisch_gewollt"
|
||||
|
||||
monkeypatch.setattr(llm_mod, "call", gewollt)
|
||||
erg = await redundanz.pruefen({"run_id": run_id, "topic": topic,
|
||||
"knoten": "redundanz", "runde": 1,
|
||||
"item": "r1:redundanz", "payload": "{}"})
|
||||
assert erg.daten["befunde"] == 1
|
||||
assert db.one("SELECT id FROM befunde WHERE run_id=? AND art='redundanz'",
|
||||
run_id)
|
||||
|
||||
Reference in New Issue
Block a user