Files
Plugin_SN_Basis/tests/test_landkreise.py
T
DanielandClaude Sonnet 5 7ce820581f Tests für restliche priorisierte sn_basis-Funktionen ergänzt (#65)
79 neue Testfälle: Verfahrensgebiet-Zustandsverwaltung (Listener-Setup/
-teardown, Signal-Handler), DockManager/BaseDockWidget, pruef_ergebnis-
Persistenz-Gates, Pruefmanager-Entscheidungswege, restliche Dateipruefer-
Zweige, Fundament-Wrapper (sys_wrapper, ly_existence_wrapper,
ly_style_wrapper.apply_style_from_path, landkreise, message_wrapper,
qgiscore_wrapper.polygon_zu_linie/layer_exists_in_gpkg,
qgisui_wrapper.add_layer_to_project) und SettingsTab.save_data/load_data.

Ausgeklammert: LayerLoader.apply_style/ly_style_wrapper.apply_style
(Bug-Verdacht, hartkodierter Fachplugin-Pfad) und
Pruefmanager._ask_use_or_replace_pufferlayer (bereits als Bug in #60
erfasst: ruft nicht existierendes self.pruefmanager auf).

qt_wrapper._MockQDockWidget um closeEvent() ergänzt (fehlte, ließ jede
BaseDockWidget.closeEvent()-Ausführung im Mock-Modus abstürzen).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 11:20:10 +02:00

29 lines
1.0 KiB
Python

"""Tests für sn_basis/functions/landkreise.py::_lade_landkreise (Issue #65)."""
import unittest
from unittest.mock import patch
from sn_basis.functions import landkreise
class LadeLandkreiseTests(unittest.TestCase):
def test_laedt_die_echte_landkreisliste_nicht_leer(self):
"""Prüft, dass _lade_landkreise die echte landkreise.json als nicht-leere Liste von (Kennzahl, Name)-Tupeln liefert."""
ergebnis = landkreise._lade_landkreise()
self.assertTrue(ergebnis)
kennzahl, name = ergebnis[0]
self.assertIsInstance(kennzahl, str)
self.assertIsInstance(name, str)
def test_fehlende_datei_liefert_leere_liste(self):
"""Prüft, dass eine nicht lesbare Datenquelle eine leere Liste liefert, statt eine Ausnahme zu werfen."""
with patch.object(landkreise, "_DATA_DATEI", "C:/nicht/vorhanden/landkreise.json"):
ergebnis = landkreise._lade_landkreise()
self.assertEqual(ergebnis, [])
if __name__ == "__main__":
unittest.main()