test(#134): drucksache_typen Coverage 72.5% → 100%
likely_kleine_anfrage_titel-Heuristik (#149-Folge): - empty/None Titel false - 'Welche', 'Warum', 'Was' und andere Frage-Praefixe true - Frage am Ende mit '?' true - Nummern-Praefix (NRW '1Welche...', '12. Wie viele...') wird weg-gestrippt - pure Digits-only Titel: nach Strippen leer → false - case-insensitive Praefix-Match - normaler Antrag-Titel ohne Frage → false Coverage 50.4% → 50.6%, 724 → 736 Tests.
This commit is contained in:
parent
581d1591b8
commit
98f7e610b4
@ -202,3 +202,61 @@ class TestIstAbstimmbarOriginal:
|
|||||||
|
|
||||||
def test_gesetzentwurf_string_abstimmbar(self):
|
def test_gesetzentwurf_string_abstimmbar(self):
|
||||||
assert ist_abstimmbar_original("Gesetzentwurf der Fraktionen") is True
|
assert ist_abstimmbar_original("Gesetzentwurf der Fraktionen") is True
|
||||||
|
|
||||||
|
|
||||||
|
# ─── likely_kleine_anfrage_titel — Heuristik (#149 Folge, #134 Backfill) ─────
|
||||||
|
|
||||||
|
|
||||||
|
class TestLikelyKleineAnfrageTitel:
|
||||||
|
def test_empty_title_is_false(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("") is False
|
||||||
|
|
||||||
|
def test_none_title_is_false(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel(None) is False
|
||||||
|
|
||||||
|
def test_welche_praefix_detected(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("Welche Schulen werden saniert") is True
|
||||||
|
|
||||||
|
def test_warum_praefix_detected(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("Warum dauert das Verfahren so lang") is True
|
||||||
|
|
||||||
|
def test_question_mark_at_end_detected(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("Stand der Dinge zur Mobilitaet?") is True
|
||||||
|
|
||||||
|
def test_numeric_prefix_stripped(self):
|
||||||
|
"""NRW liefert manchmal '1Welche...' ohne Trennzeichen — Praefix wird
|
||||||
|
weg-gestrippt bevor die Heuristik greift."""
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("1Welche Strafen sind vorgesehen") is True
|
||||||
|
|
||||||
|
def test_dotted_numeric_prefix_stripped(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("12. Wie viele Stellen") is True
|
||||||
|
|
||||||
|
def test_normal_antrag_title_is_false(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel(
|
||||||
|
"Klimaschutzgesetz fortschreiben und ausweiten"
|
||||||
|
) is False
|
||||||
|
|
||||||
|
def test_pure_digits_only_is_false(self):
|
||||||
|
"""Nach dem Strippen bleibt leerer Titel — kein Match."""
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("123 . - ") is False
|
||||||
|
|
||||||
|
def test_was_praefix_detected(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("Was sagt die Landesregierung") is True
|
||||||
|
|
||||||
|
def test_case_insensitive_praefix(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("WIE VIEL kostet das") is True
|
||||||
|
|
||||||
|
def test_no_match_no_question_mark(self):
|
||||||
|
from app.drucksache_typen import likely_kleine_anfrage_titel
|
||||||
|
assert likely_kleine_anfrage_titel("Bericht zur Energiewende vorlegen") is False
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user