import inhalt import quellcode def test_unformatierte_prompts_ohne_doppelklammern(): """Was nicht durch .format() geht, darf keine Escape-Klammern tragen — das Modell schrieb sie sonst wörtlich in die Antwort und das JSON war kaputt.""" for name in ("ABDECKUNG_SYSTEM",): text = getattr(inhalt, name) assert "{{" not in text and "}}" not in text, name def test_formatierte_prompts_ueberstehen_format(): punkt = {"art": "Bedienung", "datei": "a.vue", "zeile": 1, "umfeld": "x", "rumpf": ""} fertig = inhalt.ABDECKUNG.format(funktionen="—", **punkt) assert '{"abgedeckt": true' in fertig assert "{{" not in fertig def test_beleg_muss_woertlich_dastehen(): quelle = {"a.py": "def eins():\n return 1\n"} assert quellcode.belegt(quelle, "a.py", "def eins():") assert quellcode.belegt(quelle, "a.py", " def eins(): ") # Einrückung egal assert quellcode.belegt(quelle, "a.py", "def eins():\nreturn 1") assert not quellcode.belegt(quelle, "a.py", "def zwei():") assert not quellcode.belegt(quelle, "b.py", "def eins():") assert not quellcode.belegt(quelle, "a.py", "") def test_interaktionen_sind_deterministisch(): quelle = { "frontend/src/X.vue": ( '\n' '\n' '