PER_RECHTSPERSON als Rohwert in der Trefferliste zeigen (#56)
PER_RECHTSPERSON kennt die Werte 0, 1, 5 und 9 und ist kein Ja/Nein-Feld. Die Trefferliste bekommt dafür eine eigene Spalte mit dem unveränderten Wert; abweichende Werte einer Person werden gesammelt. Die Entschlüsselung folgt später. „verstorben“ (PER_VERSTORBEN 0/1) bleibt als Hinweis. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -139,18 +139,29 @@ class TestSuche(unittest.TestCase):
|
||||
treffer = es.suche_eigentuemer(layer, "Beispiel", "Anna")
|
||||
self.assertEqual([e.wohnort for e in treffer], ["Altdorf", "Zettlitz"])
|
||||
|
||||
def test_kennzeichen_verstorben_und_rechtsperson(self):
|
||||
"""Prüft, dass „verstorben“ und „Rechtsperson“ aus üblichen Ja-Werten erkannt werden und Nein-Werte, Leeres und NULL nicht zählen."""
|
||||
ja = ["J", "ja", "1", "true", "X"]
|
||||
nein = ["", "0", "N", "nein", "false", None, _Null()]
|
||||
zeilen = [_zeile(f"Ja{i}", "Test", PER_VERSTORBEN=w, PER_RECHTSPERSON=w) for i, w in enumerate(ja)]
|
||||
zeilen += [_zeile(f"Nein{i}", "Test", PER_VERSTORBEN=w, PER_RECHTSPERSON=w) for i, w in enumerate(nein)]
|
||||
def test_kennzeichen_verstorben(self):
|
||||
"""Prüft, dass „verstorben“ beim Exportwert 1 (auch als Zahl gelesen) gesetzt ist und bei 0, Leerem und NULL nicht."""
|
||||
ja = ["1", 1]
|
||||
nein = ["0", 0, "", None, _Null()]
|
||||
zeilen = [_zeile(f"Ja{i}", "Test", PER_VERSTORBEN=w) for i, w in enumerate(ja)]
|
||||
zeilen += [_zeile(f"Nein{i}", "Test", PER_VERSTORBEN=w) for i, w in enumerate(nein)]
|
||||
for e in es.suche_eigentuemer(_Layer(zeilen), "", "Test"):
|
||||
erwartet = e.nachname.startswith("Ja")
|
||||
with self.subTest(name=e.nachname):
|
||||
self.assertEqual(e.verstorben, erwartet)
|
||||
self.assertEqual(e.rechtsperson, erwartet)
|
||||
self.assertEqual(e.hinweise, "verstorben, Rechtsperson" if erwartet else "")
|
||||
self.assertEqual(e.hinweise, "verstorben" if erwartet else "")
|
||||
|
||||
def test_rechtsperson_als_rohwert(self):
|
||||
"""Prüft, dass PER_RECHTSPERSON unverändert angezeigt wird (0, 1, 5, 9; noch nicht entschlüsselt) und abweichende Werte einer Person gesammelt werden."""
|
||||
layer = _Layer([
|
||||
_zeile("Beispiel", "Anna", PER_RECHTSPERSON="0"),
|
||||
_zeile("Gemeinde Musterstadt", "", strasse="Markt 1", PER_RECHTSPERSON=5),
|
||||
_zeile("Muster", "Bernd", PER_RECHTSPERSON="1"),
|
||||
_zeile("Muster", "Bernd", PER_RECHTSPERSON="9"),
|
||||
_zeile("Ohnewert", "Clara", PER_RECHTSPERSON=_Null()),
|
||||
])
|
||||
werte = {e.nachname: e.rechtsperson_text for e in es.suche_eigentuemer(layer, "e", "")}
|
||||
self.assertEqual(werte, {"Beispiel": "0", "Gemeinde Musterstadt": "5", "Muster": "1, 9", "Ohnewert": ""})
|
||||
|
||||
def test_plz_mit_fuehrender_null(self):
|
||||
"""Prüft, dass eine von QGIS als Zahl gelesene PLZ wieder fünfstellig mit führender Null erscheint und Zeilen dadurch zusammenfinden."""
|
||||
|
||||
@@ -103,7 +103,8 @@ def _eig_tab(nachname="Beispiel", vorname="", layer_id="csv1"):
|
||||
|
||||
|
||||
_ANNA = Eigentuemer(vorname="Anna", nachname="Beispiel", strasse="Hauptstraße 1", plz="01234",
|
||||
wohnort="Musterstadt", emails=("anna@example.org",), verstorben=True)
|
||||
wohnort="Musterstadt", emails=("anna@example.org",), verstorben=True,
|
||||
rechtsperson=("0",))
|
||||
|
||||
|
||||
@patch.object(et, "info")
|
||||
@@ -152,10 +153,10 @@ class TestEigentuemerSuchen(unittest.TestCase):
|
||||
class TestTrefferliste(unittest.TestCase):
|
||||
|
||||
def test_trefferzeile_mit_hinweis(self):
|
||||
"""Prüft, dass die Trefferliste Name, Anschrift, E-Mail und die Kennzeichen „verstorben“/„Rechtsperson“ zeigt."""
|
||||
"""Prüft, dass die Trefferliste Name, Anschrift, E-Mail, den Rohwert von PER_RECHTSPERSON und das Kennzeichen „verstorben“ zeigt."""
|
||||
self.assertEqual(
|
||||
trefferzeile(_ANNA),
|
||||
("Beispiel, Anna", "Hauptstraße 1, 01234 Musterstadt", "anna@example.org", "verstorben"),
|
||||
("Beispiel, Anna", "Hauptstraße 1, 01234 Musterstadt", "anna@example.org", "0", "verstorben"),
|
||||
)
|
||||
|
||||
def test_ausgewaehlte_eigentuemer(self):
|
||||
|
||||
Reference in New Issue
Block a user