Konflikte aufgelöst: - docs/status/STATUS.md: Baustellen aus main (Basemap #88 ff., #93, #99, #100, #104) und aus dem Audit-Branch zusammengeführt und neu nummeriert; Punkt Test-Audit auf den Endstand für sn_basis (#76, PR #117) und den nächsten Schritt sn_verfahrensgebiet (#60) umgeschrieben; Stand 26.10.2026. - docs/tests/testkatalog.md/.html: nicht von Hand zusammengeführt, sondern mit scripts/testkatalog.py neu erzeugt (sn_basis auf unstable nach PR #117, sn_verfahrensgebiet auf unstable). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
216 KiB
Testkatalog der sn_*-Plugins
Automatisch erzeugt von
scripts/testkatalog.py– nicht von Hand bearbeiten. Neu erzeugen:python scripts/testkatalog.py. Prüfen (CI, vor dem Commit):python scripts/testkatalog.py --pruefen.
Dieser Katalog zeigt ohne Blick in den Quelltext, was die Testsuite prüft. Er ist die Grundlage für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus den Testdateien selbst (Docstrings) und aus der Testbaseline.
Stand der Baseline: docs/status/testbaseline.json (SHA-256 aeabc946a7f3)
Stand des Prüf-Audits: docs/status/testpruefungen.json (SHA-256 2d7704ddcd6e)
Gesamt: 3 Pakete, 66 Testdateien, 859 Testfälle – 816 grün, 35 rot (Baseline), 8 übersprungen. Mit Beschreibung (Docstring): 714 von 859 (83 %). Fachlich geprüft: 304 von 859 (35 %) aktuell, 0 veraltet seit Codeänderung, 555 nie geprüft. Strukturelle Lücken (heuristisch, Namensabgleich): 216 von 634 (34 %) Funktionen/Methoden ohne erkennbaren Testbezug – Abschnitt „Ungetestete Funktionen“.
Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft | ohne Testbezug |
|---|---|---|---|---|---|---|---|---|
sn_basis |
43 | 526 | 526 | 0 | 0 | 526 von 526 (100 %) | 304 von 526 (58 %) | 126 von 393 (32 %) |
sn_verfahrensgebiet |
18 | 289 | 247 | 34 | 8 | 187 von 289 (65 %) | 0 von 289 (0 %) | 51 von 161 (32 %) |
sn_plan41 |
5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) | 39 von 80 (49 %) |
| Summe | 66 | 859 | 816 | 35 | 8 | 714 von 859 (83 %) | 304 von 859 (35 %) | 216 von 634 (34 %) |
Legende
- prüft – erste Zeile des Docstrings des Testfalls. Fehlt sie, steht dort
— (Docstring fehlt). - grün – der Testfall lief im Baseline-Lauf durch.
- rot (Baseline) – der Testfall schlägt bereits fehl und ist in
docs/status/testbaseline.jsonvermerkt; er darf nicht ignoriert, aber auch nicht als neuer Fehler gewertet werden. - übersprungen – per
@unittest.skip/skipIf/skipUnlessabgeschaltet; der Grund steht dabei. - Ein Testfall heißt
Testgruppe.test_name; die Testgruppe fasst zusammengehörige Testfälle einer Datei zusammen. - geprüft – Prüf-Audit (
scripts/test_audit.py): nie geprüft kein Eintrag indocs/status/testpruefungen.json; geprüft am … ein Mensch hat den Testfall bestätigt und der Testcode hat sich seither nicht geändert; veraltet seit Änderung … der Testcode wurde nach der letzten Prüfung geändert. - ohne Testbezug – Funktionen/Methoden im Quellcode, deren Name in keiner Testdatei des Pakets vorkommt (weder als Aufruf noch als
mock.patch("…")-Ziel). Ein Namensabgleich, kein Ausführungsnachweis – siehe Abschnitt „Ungetestete Funktionen“ für die Grenzen dieser Heuristik. Das ist bewusst keine Zeilen-Coverage in Prozent (siehe ADR 0009, „Verworfene Alternativen“), sondern eine Lückenliste wie bei fehlenden Beschreibungen. Davon beabsichtigt – der Docstring dokumentiert den Testverzicht; ungeklärt – weder Test noch Vermerk, die eigentliche Arbeitsliste.
Paket sn_basis
Plattform-Plugin, Ordner Plugin_SN_Basis – 43 Testdateien mit 526 Testfällen (526 grün, 0 rot, 0 übersprungen).
Plugin_SN_Basis/tests/test_base_dockwidget.py
Worum es in der Datei geht: Tests für sn_basis/ui/base_dockwidget.py: closeEvent (Issue #65) und Scroll-Bereich je Tab (Basis #104).
Testgruppen:
CloseEventTests(5 Testfälle): — (Docstring fehlt)ScrollbereichTests(5 Testfälle): Lange Tabs dürfen das QGIS-Fenster nicht über den Bildschirmrand schieben (Basis #104).
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
CloseEventTests.test_ruft_cleanup_aller_tabs_auf |
Prüft, dass closeEvent cleanup() auf allen Tabs des Dock-Widgets aufruft. | grün | geprüft am 2026-09-21 |
CloseEventTests.test_ignoriert_tabs_ohne_cleanup |
Prüft, dass ein Tab ohne cleanup()-Methode nicht zu einem Fehler führt. | grün | geprüft am 2026-09-21 |
CloseEventTests.test_fehler_in_cleanup_wird_abgefangen_und_andere_tabs_laufen_weiter |
Prüft, dass ein Fehler in cleanup() eines Tabs nicht die übrigen Tabs verhindert. | grün | geprüft am 2026-09-21 |
CloseEventTests.test_setzt_toolbar_action_zurueck |
Prüft, dass closeEvent die verknüpfte Toolbar-Action auf 'nicht gedrückt' zurücksetzt. | grün | geprüft am 2026-09-21 |
CloseEventTests.test_ohne_action_wird_nichts_zurueckgesetzt |
Prüft, dass closeEvent ohne verknüpfte Toolbar-Action keine Ausnahme wirft. | grün | geprüft am 2026-09-21 |
ScrollbereichTests.test_jeder_tab_liegt_in_einem_scrollbereich |
Prüft, dass BaseDockWidget jeden Tab in einen mitwachsenden Scroll-Bereich packt, damit ein langer Tab scrollt, statt das Fenster zu verlängern. | grün | nie geprüft |
ScrollbereichTests.test_fachplugin_mit_eigenem_tabaufbau_bekommt_scrollbereich |
Prüft, dass auch ein Fachplugin, das seine Tabs selbst aufbaut und per setWidget einsetzt (wie Plan41, Verfahrensgebiet), Scroll-Bereiche bekommt. | grün | nie geprüft |
ScrollbereichTests.test_scrollbereich_wird_nicht_doppelt_angelegt |
Prüft, dass ein Tab, der schon in einem Scroll-Bereich liegt, beim erneuten Einsetzen nicht ein zweites Mal verpackt wird. | grün | nie geprüft |
ScrollbereichTests.test_setwidget_none_und_andere_widgets_bleiben_unveraendert |
Prüft, dass setWidget(None) und Widgets ohne Tabs ohne Fehler und unverändert eingesetzt werden. | grün | nie geprüft |
ScrollbereichTests.test_cleanup_erreicht_tabs_im_scrollbereich |
Prüft, dass closeEvent cleanup() auch für Tabs aufruft, die in einem Scroll-Bereich liegen. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_anbindung.py
Worum es in der Datei geht: Tests für die Anbindung der Basemap-Legende an Druckablauf, Dialog und Druck-Tab (Basis #88):
Testgruppen:
TestMehrfachauswahl(1 Testfälle): — (Docstring fehlt)TestDruckanbindung(4 Testfälle): — (Docstring fehlt)TestBasemapBereich(11 Testfälle): — (Docstring fehlt)TestStilvorlagenAustausch(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestMehrfachauswahl.test_mock_modus_liefert_vorauswahl_in_listenreihenfolge |
Prüft, dass der Mehrfachauswahl-Dialog im Mock-Modus die vorausgewählten Schlüssel in Listenreihenfolge liefert. | grün | nie geprüft |
TestDruckanbindung.test_basemap_legende_nur_fuer_38_und_41_und_bei_eingeschaltetem_schalter |
Prüft, dass nur §-38- und §-41-Vorlagen eine Basemap-Legende bekommen und nur, wenn der Schalter im Druck-Tab an ist. | grün | nie geprüft |
TestDruckanbindung.test_layout_wird_markiert_und_legende_erzeugt |
Prüft, dass PrintLayout das Layout als Basemap-Nutzer kennzeichnet und die Basemap-Legende erzeugen lässt. | grün | nie geprüft |
TestDruckanbindung.test_fehler_der_basemap_legende_verhindert_die_vorlage_nicht |
Prüft, dass ein Fehler beim Erzeugen der Basemap-Legende nur als Warnung gemeldet wird und keine Ausnahme durchreicht. | grün | nie geprüft |
TestDruckanbindung.test_druck_tab_aktualisiert_basemap_bereich_falls_vorhanden |
Prüft, dass der Druck-Tab den Basemap-Bereich neu einliest und ohne Bereich nichts tut. | grün | nie geprüft |
TestBasemapBereich.test_auswertebereich_wird_gespeichert |
Prüft, dass die Wahl des Auswertebereichs in der Projektvariable landet. | grün | nie geprüft |
TestBasemapBereich.test_aktualisieren_ohne_vorlage_warnt |
Prüft, dass „Basemap-Legende aktualisieren“ ohne vorhandene Vorlage warnt und nichts auswertet. | grün | nie geprüft |
TestBasemapBereich.test_aktualisieren_wertet_gewaehlte_vorlage_aus |
Prüft, dass „Basemap-Legende aktualisieren“ die gewählte Vorlage auswertet und den Erfolg meldet. | grün | nie geprüft |
TestBasemapBereich.test_stil_laden_uebernimmt_legendenauswahl |
Prüft, dass das Laden einer Stilvorlage den Layerstil ersetzt und ihre Legendenauswahl in das Projekt übernimmt. | grün | nie geprüft |
TestBasemapBereich.test_stil_laden_bricht_bei_fremder_vorlage_ab |
Prüft, dass eine Vorlage mit unbekannten Styles nur nach Bestätigung geladen wird. | grün | nie geprüft |
TestBasemapBereich.test_vorhandene_vorlage_wird_nur_nach_rueckfrage_ersetzt |
Prüft, dass eine gleichnamige Stilvorlage ohne Bestätigung nicht überschrieben wird. | grün | nie geprüft |
TestBasemapBereich.test_speichern_mit_aktueller_legendenauswahl |
Prüft, dass eine neue Stilvorlage zusammen mit der aktuellen Legendenauswahl gespeichert wird. | grün | nie geprüft |
TestBasemapBereich.test_punktlinien_korrigieren_meldet_anzahl |
Prüft, dass „Punktlinien korrigieren“ den Basemap-Layer korrigiert und die Anzahl korrigierter Styles meldet. | grün | nie geprüft |
TestBasemapBereich.test_punktlinien_ohne_basemap_layer_warnt |
Prüft, dass ohne Basemap-Layer nichts korrigiert, sondern gewarnt wird. | grün | nie geprüft |
TestBasemapBereich.test_stil_speichern_ohne_basemap_layer_warnt |
Prüft, dass ohne Basemap-Layer keine Stilvorlage gespeichert, sondern gewarnt wird. | grün | nie geprüft |
TestBasemapBereich.test_stil_laden_bricht_bei_fremdem_thema_ab |
Prüft, dass eine Vorlage eines anderen Themas (Grau auf Farbe) nur nach Bestätigung geladen wird. | grün | nie geprüft |
TestStilvorlagenAustausch.test_export_schreibt_gewaehlte_vorlage |
Prüft, dass „Exportieren …“ die gewählte Vorlage in die im Dateidialog gewählte Datei schreibt und den Pfad meldet. | grün | nie geprüft |
TestStilvorlagenAustausch.test_export_abgebrochen_oder_ohne_vorlage |
Prüft, dass ohne gewählte Vorlage oder bei abgebrochenem Dateidialog nichts exportiert wird. | grün | nie geprüft |
TestStilvorlagenAustausch.test_import_uebernimmt_datei_unter_gewaehltem_namen |
Prüft, dass „Importieren …“ den Namen aus der Datei vorschlägt, unter dem gewählten Namen importiert und die neue Vorlage auswählt. | grün | nie geprüft |
TestStilvorlagenAustausch.test_import_ersetzt_vorhandene_nur_nach_rueckfrage |
Prüft, dass ein Import eine gleichnamige Vorlage ohne Bestätigung nicht überschreibt. | grün | nie geprüft |
TestStilvorlagenAustausch.test_import_ungeeigneter_datei_warnt |
Prüft, dass eine ungeeignete Importdatei gemeldet wird, ohne nach einem Namen zu fragen oder etwas zu importieren. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_kacheln.py
Worum es in der Datei geht: Tests für modules/basemap_kacheln.py – kachelweise Auswertung des Basemap-Layers (Basis #88).
Testgruppen:
TestSammleObjekte(4 Testfälle): — (Docstring fehlt)TestZoomUndStile(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestSammleObjekte.test_gleiche_objekte_aus_mehreren_kacheln_werden_entdoppelt |
Prüft, dass Objekte mit gleichem Quell-Layer, Geometrietyp und Attributen über Kachelgrenzen hinweg nur einmal gezählt werden. | grün | nie geprüft |
TestSammleObjekte.test_kacheln_ausserhalb_der_geometrie_werden_uebersprungen |
Prüft, dass Kacheln ohne Schnitt mit dem Auswertebereich nicht abgefragt werden. | grün | nie geprüft |
TestSammleObjekte.test_abbruch_liefert_none_und_hebt_auswahl_auf |
Prüft, dass ein Abbruch über den Fortschritt None liefert und die Auswahl auf dem Basemap-Layer trotzdem aufgehoben wird. | grün | nie geprüft |
TestSammleObjekte.test_anzahl_kacheln_aus_kachelbereich |
Prüft, dass die Kachelzahl aus dem Kachelbereich der Geometrie berechnet wird. | grün | nie geprüft |
TestZoomUndStile.test_zoomstufen_wie_im_qgis_renderer |
Prüft, dass Kachelzoom begrenzt, Darstellungszoom unbegrenzt und der gebrochene Zoom aus dem Maßstab bestimmt werden. | grün | nie geprüft |
TestZoomUndStile.test_stile_aus_layer_liest_renderer_styles |
Prüft, dass Name, Quell-Layer, Geometrietyp, Zoombereich, Schalter und Filter der Renderer-Styles übernommen werden. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_katalog.py
Worum es in der Datei geht: Tests für modules/basemap_katalog.py – Legendenkatalog aus der basemap.de-Style-JSON (Basis #88).
Testgruppen:
TestRendererStil(3 Testfälle): — (Docstring fehlt)TestErzeugeKatalog(6 Testfälle): — (Docstring fehlt)TestSymbolwahlUndPruefung(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestRendererStil.test_beschriftung_und_3d_sind_keine_renderer_stile |
Prüft, dass reine Beschriftungen und 3D-Gebäude nicht als Renderer-Style gelten, Icon-Symbole und Flächen schon. | grün | nie geprüft |
TestRendererStil.test_ausschluss_ueber_liste_und_praefix |
Prüft, dass Style-IDs über die Ausschlussliste und über Präfixe (Nummernschilder) ausgeschlossen werden. | grün | nie geprüft |
TestRendererStil.test_normalisierung_entfernt_variantenkennungen |
Prüft, dass Variantenkennungen wie Kontur, Brücke oder Breitenangaben beim Normalisieren einer Style-ID entfallen. | grün | nie geprüft |
TestErzeugeKatalog.test_kontur_decker_und_bruecke_bilden_einen_eintrag |
Prüft, dass Kontur-, Decker-, Fahrbahn- und Brückenvarianten derselben Straßenklasse genau einen Legendeneintrag bilden. | grün | nie geprüft |
TestErzeugeKatalog.test_zustand_im_bau_wird_eigener_eintrag |
Prüft, dass „im Bau“ einen eigenen Legendeneintrag mit Zustandsangabe in der Bezeichnung bekommt. | grün | nie geprüft |
TestErzeugeKatalog.test_punkt_und_flaeche_derselben_objektart_werden_zusammengefasst |
Prüft, dass das Kran-Symbol aus Bauwerkspunkt und Bauwerksfläche in einem Eintrag landet. | grün | nie geprüft |
TestErzeugeKatalog.test_ausgeschlossene_stile_fehlen_im_katalog |
Prüft, dass Hintergrund, Beschriftungen, Nummernschilder und 3D-Gebäude keinem Eintrag zugeordnet werden. | grün | nie geprüft |
TestErzeugeKatalog.test_fachliche_nachbearbeitung_bleibt_beim_erneuten_lauf_erhalten |
Prüft, dass Bezeichnung, Gruppe, Zusammenführung und Symbolwahl eines bestehenden Katalogs bei einem erneuten Lauf erhalten bleiben. | grün | nie geprüft |
TestErzeugeKatalog.test_entfallene_style_ids_werden_gemeldet |
Prüft, dass eine Style-ID, die in der neuen Style-JSON fehlt, als entfallen gemeldet und aus dem Katalog entfernt wird. | grün | nie geprüft |
TestSymbolwahlUndPruefung.test_symbol_stile_je_rolle_nur_grundvariante |
Prüft, dass für das Legendensymbol je Rolle (Kontur, Decker) nur die erste Grundvariante gewählt wird. | grün | nie geprüft |
TestSymbolwahlUndPruefung.test_pruefung_findet_doppelte_zuordnung_und_unbekannte_symbole |
Prüft, dass die Katalogprüfung doppelt zugeordnete Style-IDs und Symbol-Styles außerhalb des Katalogs meldet. | grün | nie geprüft |
TestSymbolwahlUndPruefung.test_ausgelieferter_katalog_ist_konsistent |
Prüft, dass der ausgelieferte Katalog data/basemap_legende.json ohne Fehler geprüft wird und Kreisstraße mit Kontur und Decker enthält. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_legende.py
Worum es in der Datei geht: Tests für modules/basemap_legende.py – Zuordnung, Auswahl und Ablauf der Basemap-Legende (Basis #88).
Testgruppen:
TestStileUndEintraege(4 Testfälle): — (Docstring fehlt)TestAuswahlUndEinstellungen(6 Testfälle): — (Docstring fehlt)TestLayerErkennung(2 Testfälle): — (Docstring fehlt)TestAblauf(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestStileUndEintraege.test_stil_aktiv_nur_eingeschaltet_und_im_zoombereich |
Prüft, dass ein Style nur aktiv ist, wenn er eingeschaltet ist und die Zoomstufe im Bereich liegt (-1 = unbegrenzt). | grün | nie geprüft |
TestStileUndEintraege.test_getroffene_stile_pruefen_layer_geometrie_zoom_und_filter |
Prüft, dass ein Style nur Objekte seines Quell-Layers und Geometrietyps zählt, deren Filter zutrifft, und nur bei passender Zoomstufe. | grün | nie geprüft |
TestStileUndEintraege.test_eintraege_fassen_styles_zusammen_und_sortieren_nach_gruppe |
Prüft, dass mehrere Styles eines Katalogeintrags einen Eintrag ergeben und die Einträge nach Gruppen- und Katalogreihenfolge sortiert sind. | grün | nie geprüft |
TestStileUndEintraege.test_ausgeschlossene_und_unbekannte_styles |
Prüft, dass ausgeschlossene Styles entfallen und unbekannte Styles als nicht bekannter Eintrag in „Sonstiges“ landen. | grün | nie geprüft |
TestAuswahlUndEinstellungen.test_vorauswahl_bekannte_an_unbekannte_aus |
Prüft, dass ohne gespeicherte Auswahl Katalogeinträge vorausgewählt und unbekannte Styles abgewählt sind. | grün | nie geprüft |
TestAuswahlUndEinstellungen.test_auswahl_wird_gemerkt_und_vorbelegt |
Prüft, dass ab- und angewählte Einträge in der Projektvariable gespeichert und beim nächsten Mal so vorbelegt werden. | grün | nie geprüft |
TestAuswahlUndEinstellungen.test_merken_ergaenzt_die_bisherige_auswahl |
Prüft, dass das Merken die Auswahl nicht angezeigter Einträge aus früheren Läufen behält. | grün | nie geprüft |
TestAuswahlUndEinstellungen.test_kaputte_projektvariable_ergibt_leere_auswahl |
Prüft, dass eine nicht lesbare Projektvariable als leere Auswahl gilt. | grün | nie geprüft |
TestAuswahlUndEinstellungen.test_auswertebereich_standard_und_umstellung |
Prüft, dass der Auswertebereich standardmäßig das Verfahrensgebiet ist, umgestellt werden kann und unbekannte Werte abgewiesen werden. | grün | nie geprüft |
TestAuswahlUndEinstellungen.test_legende_erzeugen_standard_an |
Prüft, dass das Erzeugen der Basemap-Legende standardmäßig eingeschaltet ist und abgeschaltet werden kann. | grün | nie geprüft |
TestLayerErkennung.test_erkennung_ueber_quelle_und_namen |
Prüft, dass der Basemap-Layer an Vektorkacheln mit basemap.de-Quelle erkannt wird, der Name nur als Rückfall dient und andere Layertypen nicht zählen. | grün | nie geprüft |
TestLayerErkennung.test_sichtbare_layer_aus_thema_feste_liste_oder_layerbaum |
Prüft, dass die Layer der Karte aus dem Kartenthema, sonst aus der festen Layerliste, sonst aus dem sichtbaren Layerbaum kommen. | grün | nie geprüft |
TestAblauf.test_ohne_basemap_layer_passiert_nichts |
Prüft, dass ohne sichtbaren Basemap-Layer weder Dialog noch Legende entstehen. | grün | nie geprüft |
TestAblauf.test_gewaehlte_eintraege_werden_geschrieben_und_gemerkt |
Prüft, dass nur die im Dialog gewählten Einträge in die Legende geschrieben und die Auswahl gespeichert wird. | grün | nie geprüft |
TestAblauf.test_abbruch_im_dialog_aendert_nichts |
Prüft, dass ein Abbruch im Auswahldialog die Legende nicht verändert und keine Auswahl speichert. | grün | nie geprüft |
TestAblauf.test_rueckfall_auf_druckbereich_wird_gemeldet |
Prüft, dass ohne Verfahrensgebiet auf den Druckbereich zurückgefallen und das gemeldet wird. | grün | nie geprüft |
TestAblauf.test_ohne_objekte_keine_legende |
Prüft, dass ohne Basemap-Objekte im Auswertebereich weder Dialog noch Legende entstehen. | grün | nie geprüft |
TestAblauf.test_viele_kacheln_werden_vorher_bestaetigt |
Prüft, dass vor einer Auswertung mit sehr vielen Kacheln nachgefragt wird und eine Ablehnung die Auswertung abbricht. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_legende_layout.py
Worum es in der Datei geht: Tests für modules/basemap_legende_layout.py – Basemap-Legende im Drucklayout (Basis #88).
Testgruppen:
TestKennzeichenUndKarte(2 Testfälle): — (Docstring fehlt)TestSymbolwahl(2 Testfälle): — (Docstring fehlt)TestAutobahnSymbol(3 Testfälle): Autobahn-Symbol aus dem ausgelieferten Katalog (Basis #98).TestHilfslayer(3 Testfälle): — (Docstring fehlt)TestPlatzierung(7 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestKennzeichenUndKarte.test_layout_kennzeichen_setzen_und_erkennen |
Prüft, dass ein markiertes Layout als Nutzer der Basemap-Legende erkannt und in der Projektliste geführt wird. | grün | nie geprüft |
TestKennzeichenUndKarte.test_hauptkarte_ueber_id |
Prüft, dass die Karte mit der ID „Hauptkarte“ gefunden wird. | grün | nie geprüft |
TestSymbolwahl.test_symbolnamen_aus_aktiven_symbol_stilen_in_renderer_reihenfolge |
Prüft, dass die Symbol-Styles des Katalogs in Zeichenreihenfolge genommen und inaktive übergangen werden. | grün | nie geprüft |
TestSymbolwahl.test_ohne_aktive_symbol_stile_erster_getroffener_style |
Prüft, dass ohne aktiven Symbol-Style der erste tatsächlich getroffene Style das Legendensymbol liefert. | grün | nie geprüft |
TestAutobahnSymbol.test_druckmassstab_ab_zoom_14_blauer_decker_auf_grauer_kontur |
Prüft, dass das Autobahn-Symbol ab Zoom 14 aus grauer Kontur und blauem Decker der Fahrbahnachse besteht statt nur aus einem grauen Style. | grün | nie geprüft |
TestAutobahnSymbol.test_zoom_11_bis_13_bisherige_kontur_und_decker |
Prüft, dass das Autobahn-Symbol bei Zoom 11 bis 13 weiterhin aus Kontur und Decker der getrennten Fahrbahn besteht. | grün | nie geprüft |
TestAutobahnSymbol.test_unter_zoom_11_blauer_decker |
Prüft, dass das Autobahn-Symbol unter Zoom 11 den blauen Decker der Übersichtsdarstellung nutzt. | grün | nie geprüft |
TestHilfslayer.test_je_gruppe_und_geometrietyp_ein_leerer_hilfslayer |
Prüft, dass je Gruppe und Geometrietyp ein Hilfslayer außerhalb des Layerbaums entsteht, Flächen vor Linien, ohne Rückfrage beim Schließen. | grün | nie geprüft |
TestHilfslayer.test_alte_hilfslayer_werden_entfernt |
Prüft, dass die Hilfslayer einer früheren Basemap-Legende des Layouts aus dem Projekt entfernt werden. | grün | nie geprüft |
TestHilfslayer.test_ohne_eintraege_wird_vorhandene_basemap_legende_entfernt |
Prüft, dass ohne gewählte Einträge eine vorhandene Basemap-Legende entfernt und die Auswahl am Layout vermerkt wird. | grün | nie geprüft |
TestPlatzierung.test_einspaltig_ueber_der_quellenangabe |
Prüft, dass die Basemap-Legende einspaltig unten an der Quellenangabe verankert wird, wenn der Platz reicht. | grün | nie geprüft |
TestPlatzierung.test_mehrspaltig_wenn_hoehe_nicht_reicht |
Prüft, dass die Legende zwei- oder dreispaltig wird, wenn sie einspaltig nicht zwischen Hauptlegende und Quellenangabe passt. | grün | nie geprüft |
TestPlatzierung.test_spalten_ungleich_breit |
Prüft, dass die Basemap-Legende ungleich breite Spalten bekommt (#96). | grün | nie geprüft |
TestPlatzierung.test_mindestgroesse_mit_ungleichen_spalten_und_umbruch |
Prüft, dass der Platzbedarf mit ungleich breiten Spalten und Textumbruch berechnet wird (#96). | grün | nie geprüft |
TestPlatzierung.test_neue_basemap_legende_mindestens_so_breit_wie_kartenschild |
Prüft, dass eine neu angelegte Basemap-Legende die Breite des Kartenschilds als Mindestbreite bekommt. | grün | nie geprüft |
TestPlatzierung.test_titel_zweizeilig |
Prüft, dass der Titel der Basemap-Legende zweizeilig ist, damit er die Mindestbreite nicht bestimmt (#96). | grün | nie geprüft |
TestPlatzierung.test_nie_breiter_als_der_seitenrand_mit_hinweis |
Prüft, dass keine Spaltenzahl gewählt wird, die über den Seitenrand ragt, und dann ein Hinweis kommt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_legende_rand.py
Worum es in der Datei geht: Tests für den Legendenrand weißer Basemap-Flächen (Basis #92).
Testgruppen:
TestBrauchtLegendenrand(4 Testfälle): — (Docstring fehlt)TestErgaenzeLegendenrand(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestBrauchtLegendenrand.test_weisse_flaeche_ohne_rand |
Prüft, dass eine weiße Fläche ohne Umrandung einen Legendenrand braucht. | grün | nie geprüft |
TestBrauchtLegendenrand.test_farbige_flaeche_oder_flaeche_mit_kontur |
Prüft, dass farbige Flächen und weiße Flächen mit dunkler Kontur oder eigener Konturlinie keinen Rand bekommen. | grün | nie geprüft |
TestBrauchtLegendenrand.test_heller_rand_und_fast_weiss_zaehlen_als_unsichtbar |
Prüft, dass fast weiße Füllungen und helle oder durchsichtige Ränder als unsichtbar gelten. | grün | nie geprüft |
TestBrauchtLegendenrand.test_andere_ebenen_und_leeres_symbol |
Prüft, dass Symbole mit anderen Ebenen (Muster, Punkte) und leere Symbole keinen Rand bekommen. | grün | nie geprüft |
TestErgaenzeLegendenrand.test_weisse_flaeche_bekommt_grauen_rand |
Prüft, dass eine weiße Fläche ohne Kontur eine graue Randlinie als oberste Ebene bekommt. | grün | nie geprüft |
TestErgaenzeLegendenrand.test_farbige_flaeche_und_linien_bleiben_unveraendert |
Prüft, dass farbige Flächen, Flächen mit Kontur und Liniensymbole keinen Rand bekommen. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_stilkorrektur.py
Worum es in der Datei geht: Tests für modules/basemap_stilkorrektur.py – Punktlinien des Basemap-Layers sichtbar machen (Basis #90).
Testgruppen:
TestMusterUndAusdruck(2 Testfälle): — (Docstring fehlt)TestLayerkorrektur(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestMusterUndAusdruck.test_strichlaenge_null_im_festen_muster |
Prüft, dass Strichlängen 0 (gerade Positionen) im Strichmuster ersetzt und Lücken der Länge 0 nicht verändert werden. | grün | nie geprüft |
TestMusterUndAusdruck.test_strichlaenge_null_im_zoomabhaengigen_ausdruck |
Prüft, dass jede Strichlänge 0 in den array(...)-Mustern des Konverter-Ausdrucks ersetzt wird und der übrige Ausdruck gleich bleibt. | grün | nie geprüft |
TestLayerkorrektur.test_punktlinien_werden_korrigiert_andere_styles_nicht |
Prüft, dass nur Styles mit Strichlänge 0 korrigiert werden – Muster und Ausdruck – und die Anzahl zurückkommt. | grün | nie geprüft |
TestLayerkorrektur.test_zweiter_lauf_korrigiert_nichts |
Prüft, dass ein zweiter Lauf keine Styles mehr korrigiert und nicht neu zeichnen lässt. | grün | nie geprüft |
TestLayerkorrektur.test_nur_ausdruck_ohne_festes_muster |
Prüft, dass auch ein Style korrigiert wird, dessen Strichlänge 0 nur im zoomabhängigen Ausdruck steht. | grün | nie geprüft |
TestLayerkorrektur.test_layer_ohne_renderer |
Prüft, dass ein Layer ohne Renderer 0 korrigierte Styles liefert. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_stilvorlagen.py
Worum es in der Datei geht: Tests für modules/basemap_stilvorlagen.py – lokale Stilvorlagen des Basemap-Layers (Basis #88),
Testgruppen:
TestStilvorlagen(8 Testfälle): — (Docstring fehlt)TestExportImport(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestStilvorlagen.test_speichern_und_auflisten |
Prüft, dass eine gespeicherte Vorlage mit Anzeigenamen, QML-Datei und Begleitdatei aufgelistet wird. | grün | nie geprüft |
TestStilvorlagen.test_mehrere_varianten_alphabetisch |
Prüft, dass mehrere Varianten nebeneinander bestehen und alphabetisch nach Anzeigename sortiert werden. | grün | nie geprüft |
TestStilvorlagen.test_leerer_name_oder_fehler_beim_schreiben |
Prüft, dass ein leerer Name und ein Schreibfehler von QGIS als ValueError gemeldet werden. | grün | nie geprüft |
TestStilvorlagen.test_laden_setzt_stil_und_zeichnet_neu |
Prüft, dass das Laden die QML-Datei der Vorlage in den Layer lädt und neu zeichnen lässt. | grün | nie geprüft |
TestStilvorlagen.test_passung_meldet_fremde_styles |
Prüft, dass Style-Namen der Vorlage gemeldet werden, die der Ziel-Layer nicht kennt. | grün | nie geprüft |
TestStilvorlagen.test_standard_setzen_und_beim_loeschen_entfernen |
Prüft, dass eine Vorlage als Standard markiert wird und die Markierung beim Löschen der Vorlage entfällt. | grün | nie geprüft |
TestStilvorlagen.test_fehlende_begleitdatei_wird_toleriert |
Prüft, dass eine QML-Datei ohne Begleitdatei mit ihrem Dateinamen aufgelistet wird. | grün | nie geprüft |
TestStilvorlagen.test_ohne_ordner_leere_liste |
Prüft, dass ohne angelegten Vorlagenordner eine leere Liste zurückkommt. | grün | nie geprüft |
TestExportImport.test_export_und_import_uebertragen_vorlage_mit_begleitdaten |
Prüft, dass eine exportierte Vorlage auf einem anderen Rechner mit Anzeigename, Thema, Style-Namen und Legendenauswahl ankommt. | grün | nie geprüft |
TestExportImport.test_export_einer_fehlenden_vorlage |
Prüft, dass der Export einer nicht vorhandenen Vorlage als ValueError gemeldet wird und keine Datei entsteht. | grün | nie geprüft |
TestExportImport.test_import_einer_reinen_qml_datei |
Prüft, dass eine QML-Datei ohne Begleitdatei mit dem Dateinamen als Namensvorschlag und ohne Thema übernommen wird. | grün | nie geprüft |
TestExportImport.test_import_lehnt_ungeeignete_dateien_ab |
Prüft, dass Dateien ohne QGIS-Stil und ZIP-Dateien ohne genau eine QML-Datei abgelehnt werden, ohne etwas anzulegen. | grün | nie geprüft |
TestExportImport.test_import_uebernimmt_nur_bekannte_begleitdaten |
Prüft, dass ein Import unbekannte oder falsch typisierte Angaben der Begleitdatei verwirft und den gewählten Namen nutzt. | grün | nie geprüft |
TestExportImport.test_thema_der_vorlage_passt_nicht_zum_layer |
Prüft, dass ein abweichendes Thema der Vorlage gemeldet wird und ohne Thema in Vorlage oder Layer keine Meldung kommt. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_basemap_themen.py
Worum es in der Datei geht: Tests für modules/basemap_themen.py und den Abschnitt „Basemap-Layer“ im Basemap-Bereich (Basis #100):
Testgruppen:
TestQuelleUndThema(4 Testfälle): Layerquelle der Themen, Thema eines Layers und Erkennung über die Kachel-URL.TestPruefwert(3 Testfälle): Prüfwert der Darstellung und Änderungsstand für ungespeicherte Änderungen.TestLayerUndThemenwechsel(7 Testfälle): Basemap-Layer anlegen, in den Layerbaum einfügen und Thema wechseln.TestStilvorlageMitThema(1 Testfälle): Stilvorlagen vermerken das Thema des Layers.TestAuswahlDialog(1 Testfälle): Rückfrage mit frei benannten Knöpfen.TestBasemapHinzufuegen(5 Testfälle): Knopf „Basemap hinzufügen“ mit Rückfrage bei vorhandenem Layer gleicher Quelle.TestThemaWechseln(8 Testfälle): Themenauswahl mit Rückfrage bei geänderter oder unbekannter Darstellung.TestZielLayer(1 Testfälle): Auswahl des Basemap-Layers, auf den Thema und Stil wirken.
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestQuelleUndThema.test_quelle_enthaelt_kachel_url_und_style_des_themas |
Prüft, dass die Layerquelle eines Themas die gemeinsame Kachel-URL und die Style-JSON des Themas enthält. | grün | nie geprüft |
TestQuelleUndThema.test_unbekannte_style_json_ergibt_kein_thema |
Prüft, dass ein Layer mit fremder oder fehlender Style-JSON keinem Thema zugeordnet wird. | grün | nie geprüft |
TestQuelleUndThema.test_unbekannter_schluessel_faellt_auf_farbe_zurueck |
Prüft, dass ein unbekannter Themenschlüssel auf das Standardthema „Farbe“ zurückfällt. | grün | nie geprüft |
TestQuelleUndThema.test_vorhandener_layer_wird_an_der_quell_url_erkannt |
Prüft, dass ein vorhandener Basemap-Layer an der Kachel-URL erkannt wird – unabhängig von Name, Thema und URL-Kodierung. | grün | nie geprüft |
TestPruefwert.test_gleiche_darstellung_gleicher_pruefwert_auch_bei_anderer_qgis_version |
Prüft, dass dieselbe Darstellung denselben Prüfwert ergibt, auch wenn die QGIS-Version in der QML abweicht. | grün | nie geprüft |
TestPruefwert.test_ohne_ausgabe_der_darstellung_kein_pruefwert |
Prüft, dass kein Prüfwert entsteht, wenn der Layer seine Darstellung nicht ausgeben kann. | grün | nie geprüft |
TestPruefwert.test_aenderungsstand_unbekannt_unveraendert_geaendert |
Prüft, dass der Änderungsstand ohne gemerkten Prüfwert „unbekannt“ ist, nach dem Merken „unverändert“ und nach einer Änderung „geändert“. | grün | nie geprüft |
TestLayerUndThemenwechsel.test_neuer_layer_hat_thema_namen_und_gemerkten_stand |
Prüft, dass ein neuer Basemap-Layer im gewählten Thema entsteht, den Themenstil lädt und als unverändert gilt. | grün | nie geprüft |
TestLayerUndThemenwechsel.test_ungueltiger_layer_oder_fehlender_themenstil_meldet_fehler |
Prüft, dass ein ungültiger Layer oder ein nicht ladbarer Themenstil als ValueError gemeldet wird. | grün | nie geprüft |
TestLayerUndThemenwechsel.test_ohne_vektorkacheln_kein_layer |
Prüft, dass ohne Vektorkachel-Unterstützung (Mock-Modus) kein Layer erzeugt, sondern ein Fehler gemeldet wird. | grün | nie geprüft |
TestLayerUndThemenwechsel.test_layer_kommt_ganz_unten_in_den_layerbaum |
Prüft, dass der Basemap-Layer ohne automatische Einordnung ins Projekt kommt und unten an den Layerbaum angehängt wird. | grün | nie geprüft |
TestLayerUndThemenwechsel.test_themenwechsel_stellt_quelle_um_und_merkt_neuen_stand |
Prüft, dass der Themenwechsel die Style-JSON der Quelle umstellt, den Themenstil lädt, den automatischen Namen anpasst und den neuen Stand merkt. | grün | nie geprüft |
TestLayerUndThemenwechsel.test_themenwechsel_behaelt_eigenen_layernamen |
Prüft, dass ein vom Nutzer vergebener Layername beim Themenwechsel erhalten bleibt. | grün | nie geprüft |
TestLayerUndThemenwechsel.test_themenwechsel_ohne_umstellbare_quelle_meldet_fehler |
Prüft, dass ein Layer ohne setDataSource den Themenwechsel mit einem ValueError ablehnt. | grün | nie geprüft |
TestStilvorlageMitThema.test_stilvorlage_vermerkt_das_thema |
Prüft, dass eine gespeicherte Stilvorlage das Thema des Layers in ihrer Begleitdatei und in der Liste vermerkt. | grün | nie geprüft |
TestAuswahlDialog.test_mock_modus_liefert_vorbelegung |
Prüft, dass die Rückfrage mit frei benannten Knöpfen im Mock-Modus den vorbelegten Schlüssel liefert. | grün | nie geprüft |
TestBasemapHinzufuegen.test_ohne_vorhandenen_layer_wird_ohne_rueckfrage_hinzugefuegt |
Prüft, dass ohne Basemap-Layer gleicher Quelle sofort ein Layer im gewählten Thema hinzugefügt wird. | grün | nie geprüft |
TestBasemapHinzufuegen.test_vorhandener_layer_wird_in_der_rueckfrage_genannt_abbrechen |
Prüft, dass ein vorhandener Layer gleicher Quelle in der Rückfrage genannt wird und „Abbrechen“ nichts verändert. | grün | nie geprüft |
TestBasemapHinzufuegen.test_zusaetzlich_laden_fuegt_zweiten_layer_hinzu |
Prüft, dass „Zusätzlich laden“ einen weiteren Basemap-Layer neben dem vorhandenen hinzufügt. | grün | nie geprüft |
TestBasemapHinzufuegen.test_ersetzen_laedt_vorhandenen_layer_im_gewaehlten_thema |
Prüft, dass „Ersetzen“ keinen neuen Layer anlegt, sondern den vorhandenen im gewählten Thema neu lädt. | grün | nie geprüft |
TestBasemapHinzufuegen.test_fehler_beim_anlegen_wird_gemeldet |
Prüft, dass ein nicht erreichbarer Dienst als Warnung gemeldet und kein Layer hinzugefügt wird. | grün | nie geprüft |
TestThemaWechseln.test_unveraenderter_layer_wechselt_ohne_rueckfrage |
Prüft, dass ein unveränderter Basemap-Layer ohne Rückfrage auf das gewählte Thema wechselt. | grün | nie geprüft |
TestThemaWechseln.test_gleiches_thema_aendert_nichts |
Prüft, dass die Wahl des Themas, das der Layer schon hat, nichts neu lädt. | grün | nie geprüft |
TestThemaWechseln.test_geaenderte_darstellung_abbrechen_behaelt_thema |
Prüft, dass bei geänderter Darstellung nachgefragt wird und „Abbrechen“ Thema und Darstellung unverändert lässt. | grün | nie geprüft |
TestThemaWechseln.test_geaenderte_darstellung_verwerfen_wechselt |
Prüft, dass „Verwerfen“ die geänderte Darstellung aufgibt und das Thema wechselt. | grün | nie geprüft |
TestThemaWechseln.test_als_stil_speichern_sichert_vor_dem_wechsel |
Prüft, dass „Als Stil speichern“ die Darstellung vor dem Themenwechsel als Stilvorlage sichert. | grün | nie geprüft |
TestThemaWechseln.test_abgebrochenes_speichern_verhindert_den_wechsel |
Prüft, dass das Thema nicht wechselt, wenn „Als Stil speichern“ gewählt, die Namensabfrage aber abgebrochen wird. | grün | nie geprüft |
TestThemaWechseln.test_unbekannter_stand_fragt_nach |
Prüft, dass bei einem Layer ohne gemerkten Prüfwert (vor dieser Funktion geladen) vorsichtshalber nachgefragt wird. | grün | nie geprüft |
TestThemaWechseln.test_ohne_basemap_layer_nur_vorauswahl |
Prüft, dass die Themenwahl ohne Basemap-Layer nur als Vorauswahl für „Basemap hinzufügen“ dient und nichts meldet. | grün | nie geprüft |
TestZielLayer.test_ausgewaehlter_basemap_layer_hat_vorrang |
Prüft, dass der im Layerbaum ausgewählte Basemap-Layer Ziel des Themenwechsels ist, sonst der erste Basemap-Layer. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_bootstrap.py
Worum es in der Datei geht: — (Docstring fehlt)
Keine Testfälle: Die Datei enthält keine unittest.TestCase-Klasse – sie ist eine reine Hilfsdatei, die beim Testlauf nur importiert wird.
Plugin_SN_Basis/tests/test_datagrabber.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestDataGrabber(8 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestDataGrabber.test_analyze_source_type_detects_excel |
Prüft, dass eine erreichbare .xlsx-Datei als Quelltyp 'excel' erkannt wird. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_analyze_source_type_returns_unknown_filetype |
Prüft, dass eine erreichbare Datei mit unbekannter Endung als 'unbekannter_dateityp' eingestuft wird. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_analyze_source_type_detects_service_when_file_check_fails |
Prüft, dass eine Quelle als 'dienst' erkannt wird, wenn die Dateiprüfung fehlschlägt, die URL aber erreichbar ist. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_analyze_source_type_returns_unbekannte_quelle_on_full_failure |
Prüft, dass eine Quelle als 'unbekannte_quelle' eingestuft wird, wenn weder Datei- noch Linkprüfung erfolgreich sind. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_run_returns_success_summary_with_valid_rows |
Prüft, dass run() bei erfolgreichem Excel-Import eine Erfolgsmeldung mit den geladenen Zeilen liefert. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_run_returns_failure_summary_without_rows |
Prüft, dass run() bei nicht erkennbarer Quelle eine Fehlermeldung ohne Zeilen liefert. | grün | geprüft am 2026-09-16 |
TestDataGrabber.test_aggregate_results_mit_zeilen_liefert_erfolgsergebnis |
Prüft, dass _aggregate_results bei vorhandenen Zeilen ein Erfolgsergebnis mit Zeilenzahl liefert. | grün | geprüft am 2026-09-21 |
TestDataGrabber.test_aggregate_results_ohne_zeilen_liefert_keine_validen_eintraege |
Prüft, dass _aggregate_results ohne Zeilen ok=False mit Aktion 'keine_validen_eintraege' liefert. | grün | geprüft am 2026-09-21 |
Plugin_SN_Basis/tests/test_dateipruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestDateipruefer(17 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestDateipruefer.test_leereingabe_erlaubt |
Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_leereingabe_nicht_erlaubt |
Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_standarddatei_vorschlagen |
Prüft, dass bei leerer Pfadangabe mit gesetzter Standarddatei 'standarddatei_vorschlagen' mit dem Standardpfad als Kontext geliefert wird. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_temporaer_erlaubt |
Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_datei_nicht_gefunden |
Prüft, dass ein nicht existierender Dateipfad als 'datei_nicht_gefunden' mit dem Pfad als Kontext abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_datei_ok |
Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird. | grün | geprüft am 2026-09-17 |
TestDateipruefer.test_erkenne_dateityp_unterscheidet_excel_datenbank_und_unbekannt |
Prüft, dass erkenne_dateityp .xlsx als 'excel', .gpkg/.sqlite als 'datenbank' und Rest als 'unbekannt' erkennt. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_pfad_verbindet_relativen_pfad_mit_basispfad |
Prüft, dass _pfad einen relativen Pfad mit dem Basisverzeichnis verbindet. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_pfad_laesst_absoluten_pfad_unveraendert |
Prüft, dass _pfad einen bereits absoluten Pfad nicht mit dem Basisverzeichnis verbindet. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_akzeptiert_vorhandenes_verzeichnis |
Prüft, dass ein .gpkg-Pfad mit vorhandenem Zielverzeichnis als gültig gilt. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_lehnt_falsche_endung_ab |
Prüft, dass ein Pfad ohne .gpkg-Endung als ungültig gilt, auch bei vorhandenem Verzeichnis. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_lehnt_fehlendes_verzeichnis_ab |
Prüft, dass ein .gpkg-Pfad in einem nicht vorhandenen Verzeichnis als ungültig gilt. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_ist_leer_erkennt_none_und_nicht_string_als_leer |
Prüft, dass _ist_leer sowohl None als auch einen Nicht-String-Wert als leer meldet. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_ist_leer_erkennt_reinen_whitespace_als_leer |
Prüft, dass _ist_leer eine Eingabe aus reinen Leerzeichen als leer meldet. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_ist_leer_meldet_pfad_mit_sichtbaren_zeichen_nicht_als_leer |
Prüft, dass _ist_leer einen Pfad mit sichtbaren Zeichen nicht als leer meldet. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_leere_eingabe_bevorzugt_leereingabe_erlaubt_vor_standarddatei |
Prüft, dass bei leerer Eingabe leereingabe_erlaubt Vorrang vor einer gesetzten Standarddatei hat. | grün | geprüft am 2026-09-21 |
TestDateipruefer.test_leere_eingabe_bevorzugt_standarddatei_vor_temporaer_erlaubt |
Prüft, dass bei leerer Eingabe eine gesetzte Standarddatei Vorrang vor temporaer_erlaubt hat. | grün | geprüft am 2026-09-21 |
Plugin_SN_Basis/tests/test_datenabruf.py
Worum es in der Datei geht: Tests für sn_basis/modules/Datenabruf.py (Datenabruf-Kernpipeline, Issue #63).
Testgruppen:
DetermineSpatialFilterTests(7 Testfälle): — (Docstring fehlt)BuildProviderUrlTests(9 Testfälle): — (Docstring fehlt)FetchFeaturesTests(5 Testfälle): — (Docstring fehlt)DatenabrufOrchestrierungTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
DetermineSpatialFilterTests.test_raumfilter_ohne_liefert_none |
Prüft, dass Raumfilter 'ohne' unabhängig vom Layer immer None liefert. | grün | geprüft am 2026-09-21 |
DetermineSpatialFilterTests.test_fehlender_layer_liefert_none |
Prüft, dass ohne Verfahrensgebiet-Layer kein Raumfilter gebaut wird (Verfahrensgebiet als Raumfilter gewählt, aber kein Verfahrensgebiet-Layer vorhanden). | grün | geprüft am 2026-09-21 |
DetermineSpatialFilterTests.test_unbekannter_raumfilter_liefert_none |
Prüft, dass ein unbekannter Raumfilter-Wert None liefert, statt einen Fehler zu werfen. | grün | geprüft am 2026-09-21 |
DetermineSpatialFilterTests.test_verfahrensgebiet_liefert_extent_und_crs |
Prüft, dass Raumfilter 'Verfahrensgebiet' Extent und CRS des Verfahrensgebiet-Layers liefert. | grün | geprüft am 2026-09-21 |
DetermineSpatialFilterTests.test_verfahrensgebiet_ohne_extent_liefert_none |
Prüft, dass ein Verfahrensgebiet-Layer ohne ermittelbaren Extent None liefert. | grün | geprüft am 2026-09-21 |
DetermineSpatialFilterTests.test_pufferlayer_liefert_extent_des_pufferlayers |
Prüft, dass Raumfilter 'Pufferlayer' Extent und CRS des erzeugten Pufferlayers liefert. | grün | geprüft am 2026-09-21 |
DetermineSpatialFilterTests.test_pufferlayer_ohne_puffer_liefert_none |
Prüft, dass 'Pufferlayer' None liefert, wenn kein Pufferlayer erzeugt werden konnte. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_wms_liefert_link_unveraendert |
Prüft, dass bei Provider WMS der Link unverändert durchgereicht wird, auch mit Raumfilter. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_url_praefix_wird_entfernt |
Prüft, dass ein vorangestelltes 'url=' aus dem Link entfernt wird. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_wfs_baut_standardparameter_und_bbox_mit_crs |
Prüft, dass WFS-Abrufe Standardparameter, umbenanntes TYPENAMES und BBOX mit CRS-URN erhalten. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_wfs_repariert_doppeltes_fragezeichen |
Prüft, dass ein zweites '?' im WFS-Link zu '&' korrigiert wird, statt eine ungültige URL zu erzeugen. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_wfs_ohne_raumfilter_setzt_keine_bbox |
Prüft, dass WFS ohne Raumfilter (bbox_geom=None) keinen BBOX-Parameter setzt. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_rest_provider_haengt_query_endpunkt_an |
Prüft, dass REST/ArcGIS-Links ohne '/query'-Endpunkt automatisch ergänzt werden. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_rest_provider_mit_bbox_baut_geometry_envelope_und_srid |
Prüft, dass REST-Abrufe mit Raumfilter eine Geometry-Envelope und inSR/outSR aus dem CRS setzen. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_default_provider_haengt_generischen_bbox_parameter_an |
Prüft, dass ein unbekannter Provider mit Raumfilter einen generischen bbox-Parameter erhält. | grün | geprüft am 2026-09-21 |
BuildProviderUrlTests.test_default_provider_ohne_raumfilter_laesst_query_unveraendert |
Prüft, dass ein unbekannter Provider ohne Raumfilter keinen bbox-Parameter ergänzt. | grün | geprüft am 2026-09-21 |
FetchFeaturesTests.test_wms_liefert_keine_features_ohne_fehler |
Prüft, dass bei Provider WMS kein Featureabruf stattfindet und kein Fehler gemeldet wird. | grün | geprüft am 2026-09-21 |
FetchFeaturesTests.test_abbruch_vor_abruf_liefert_fehlermeldung |
Prüft, dass ein bereits gesetzter Abbruch vor dem eigentlichen Abruf erkannt wird. | grün | geprüft am 2026-09-21 |
FetchFeaturesTests.test_json_featurecollection_wird_geparst |
Prüft, dass eine JSON-FeatureCollection-Antwort in eine Feature-Liste umgewandelt wird. | grün | geprüft am 2026-09-21 |
FetchFeaturesTests.test_netzwerkfehler_wird_als_fehlermeldung_gemeldet |
Prüft, dass ein fehlgeschlagener HTTP-Abruf eine Fehlermeldung statt einer Ausnahme liefert. | grün | geprüft am 2026-09-21 |
FetchFeaturesTests.test_wfs_xml_liefert_anzahl_aus_numberofmatched |
Prüft, dass eine WFS-XML-Antwort ohne JSON die Trefferzahl aus numberOfMatched übernimmt. | grün | geprüft am 2026-09-21 |
DatenabrufOrchestrierungTests.test_fehlende_pflichtfelder_werden_als_ungueltig_gemeldet |
Prüft, dass eine Zeile ohne Link/Provider mit Aktion 'pflichtfelder_fehlen' gemeldet und übersprungen wird. | grün | geprüft am 2026-09-21 |
DatenabrufOrchestrierungTests.test_wms_zeile_ohne_features_landet_in_ausserhalb |
Prüft, dass eine erfolgreich abgerufene WMS-Zeile mit 0 Features als 'ausserhalb' gezählt wird. | grün | geprüft am 2026-09-21 |
DatenabrufOrchestrierungTests.test_abbruch_ueber_progress_stoppt_weitere_zeilen |
Prüft, dass ein Abbruch über das Progress-Objekt die Verarbeitung weiterer Zeilen stoppt. | grün | geprüft am 2026-09-21 |
Plugin_SN_Basis/tests/test_datenschreiber.py
Worum es in der Datei geht: Tests für sn_basis/modules/Datenschreiber.py (Schreib-/Ladepipeline, Issue #63).
Testgruppen:
WriteLayerToGpkgTests(2 Testfälle): — (Docstring fehlt)ResolveStylePathTests(3 Testfälle): — (Docstring fehlt)SchreibeDatenTests(4 Testfälle): — (Docstring fehlt)LadeLayerTests(3 Testfälle): — (Docstring fehlt)SchreibeLogTests(2 Testfälle): — (Docstring fehlt)StoreStyleInGpkgTests(4 Testfälle): Tests für Datenschreiber._store_style_in_gpkg (Issue #70, nachgezogen aus #63).
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
WriteLayerToGpkgTests.test_ungueltiger_layer_liefert_fehlermeldung |
Prüft, dass ein ungültiger Layer eine Fehlermeldung statt eines Absturzes liefert. | grün | geprüft am 2026-09-21 |
WriteLayerToGpkgTests.test_gueltiger_layer_wird_ohne_fehler_geschrieben |
Prüft, dass ein gültiger Layer im Mock-Modus ohne Fehlermeldung geschrieben wird. | grün | geprüft am 2026-09-21 |
ResolveStylePathTests.test_leerer_stilpfad_liefert_none |
Prüft, dass ein leerer oder fehlender Stilpfad None liefert. | grün | geprüft am 2026-09-21 |
ResolveStylePathTests.test_absoluter_vorhandener_stilpfad_wird_aufgeloest |
Prüft, dass ein absoluter, vorhandener Stilpfad normalisiert und unverändert erkannt wird. | grün | geprüft am 2026-09-21 |
ResolveStylePathTests.test_nicht_vorhandener_stilpfad_liefert_none |
Prüft, dass ein nicht vorhandener Stilpfad None liefert, statt einen ungültigen Pfad zurückzugeben. | grün | geprüft am 2026-09-21 |
SchreibeDatenTests.test_ohne_speicherort_wirft_valueerror |
Prüft, dass schreibe_Daten ohne Speicherort einen ValueError wirft. | grün | geprüft am 2026-09-21 |
SchreibeDatenTests.test_eintrag_ohne_gueltigen_layer_wird_uebersprungen |
Prüft, dass ein Eintrag ohne gültigen Layer übersprungen wird und ein Fehlerergebnis meldet. | grün | geprüft am 2026-09-21 |
SchreibeDatenTests.test_erfolgreicher_eintrag_liefert_layer_path_und_thema |
Prüft, dass ein gültiger Layer einen Layer-Path mit GPKG-Pfad und Layername liefert. | grün | geprüft am 2026-09-21 |
SchreibeDatenTests.test_ohne_thema_wird_ident_als_layername_verwendet |
Prüft, dass ohne passendes Thema in processed_results der ident als Layername verwendet wird. | grün | geprüft am 2026-09-21 |
LadeLayerTests.test_ohne_layer_path_wird_uebersprungen |
Prüft, dass ein Eintrag ohne layer_path übersprungen wird, ohne einen Fehler zu melden. | grün | geprüft am 2026-09-21 |
LadeLayerTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt |
Prüft, dass ein gültig ladbarer Layer ohne Fehlermeldung verarbeitet wird. | grün | geprüft am 2026-09-21 |
LadeLayerTests.test_ungueltiger_layer_meldet_layer_nicht_gefunden |
Prüft, dass ein ungültig ladbarer Layer als 'layer_nicht_gefunden' gemeldet wird. | grün | geprüft am 2026-09-21 |
SchreibeLogTests.test_ohne_speicherort_wirft_valueerror |
Prüft, dass schreibe_log ohne Speicherort einen ValueError wirft. | grün | geprüft am 2026-09-21 |
SchreibeLogTests.test_schreibt_json_datei_mit_ergebnissen_und_gibt_pfad_zurueck |
Prüft, dass schreibe_log eine lesbare JSON-Log-Datei erzeugt und deren Pfad zurückgibt. | grün | geprüft am 2026-09-21 |
StoreStyleInGpkgTests.test_legt_tabelle_an_und_speichert_stil_als_default |
Prüft, dass _store_style_in_gpkg die layer_styles-Tabelle anlegt und den Stil als Default speichert. | grün | geprüft am 2026-09-21 |
StoreStyleInGpkgTests.test_setzt_bisherigen_default_stil_desselben_layers_zurueck |
Prüft, dass _store_style_in_gpkg den useAsDefault-Wert vorhandener Stile desselben Layers zurücksetzt. | grün | geprüft am 2026-09-21 |
StoreStyleInGpkgTests.test_liest_geometriespalte_ueber_geometrycolumn_aus |
Prüft, dass _store_style_in_gpkg die Geometriespalte eines Layers mit geometryColumn() übernimmt. | grün | geprüft am 2026-09-21 |
StoreStyleInGpkgTests.test_fehlender_stilpfad_meldet_fehler_ueber_pruefmanager_statt_absturz |
Prüft, dass ein nicht lesbarer Stilpfad über den Pruefmanager gemeldet wird statt eine Exception zu werfen. | grün | geprüft am 2026-09-21 |
Plugin_SN_Basis/tests/test_dockmanager.py
Worum es in der Datei geht: Tests für sn_basis/ui/dockmanager.py (nur ein Dock gleichzeitig sichtbar, Issue #65).
Testgruppen:
DockManagerShowTests(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
DockManagerShowTests.test_none_dock_meldet_fehler_und_zeigt_nichts_an |
Prüft, dass ein fehlendes Dock-Widget (None) einen Fehler meldet und nichts anzeigt. | grün | geprüft am 2026-09-21 |
DockManagerShowTests.test_setzt_objectname_wenn_leer |
Prüft, dass ein Dock ohne Namen einen technischen Namen mit dem Präfix 'sn_dock_' erhält. | grün | geprüft am 2026-09-21 |
DockManagerShowTests.test_entfernt_andere_sn_docks_aber_nicht_sich_selbst |
Prüft, dass andere sn_basis-Docks entfernt werden, das neue Dock und fremde Widgets aber unangetastet bleiben. | grün | geprüft am 2026-09-21 |
DockManagerShowTests.test_zeigt_neues_dock_mit_default_area_an |
Prüft, dass ein neues Dock mit der Standard-Area (DockAreaRight) angezeigt wird. | grün | geprüft am 2026-09-21 |
DockManagerShowTests.test_fehler_beim_entfernen_wird_als_warnung_gemeldet |
Prüft, dass ein Fehler beim Entfernen alter Docks nur gewarnt und das neue Dock trotzdem angezeigt wird. | grün | geprüft am 2026-09-21 |
DockManagerShowTests.test_fehler_beim_anzeigen_wird_gemeldet |
Prüft, dass ein Fehler beim Anzeigen des Docks als Fehler gemeldet wird. | grün | geprüft am 2026-09-21 |
Plugin_SN_Basis/tests/test_druck_kbs.py
Worum es in der Datei geht: Tests zu Basis #99: Ist das Projekt-KBS ein anderes als das KBS des Verfahrensgebiets, müssen
Testgruppen:
TestTransformiereRechteck(3 Testfälle): Umrechnung eines Rechtecks zwischen zwei KBS.TestZoomAufLayer(2 Testfälle): Zoom der Kartenansicht auf einen Layer in einem anderen KBS.TestDruckKbs(5 Testfälle): KBS der Layoutkarte und Umrechnung der Druckbereiche.TestLayoutkarteImDruckKbs(1 Testfälle): Die Layoutkarte bekommt das Druck-KBS, bevor die Ausdehnung gesetzt wird.
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestTransformiereRechteck.test_verschiedene_kbs_werden_umgerechnet |
Prüft, dass ein Rechteck bei verschiedenen KBS mit QgsCoordinateTransform von Quell- nach Ziel-KBS umgerechnet wird. | grün | nie geprüft |
TestTransformiereRechteck.test_gleiches_fehlendes_oder_ungueltiges_kbs_laesst_rechteck_unveraendert |
Prüft, dass bei gleichem, fehlendem oder ungültigem KBS nicht umgerechnet und das Rechteck unverändert geliefert wird. | grün | nie geprüft |
TestTransformiereRechteck.test_fehler_bei_der_umrechnung_liefert_das_rechteck |
Prüft, dass ein Fehler bei der Umrechnung nicht durchschlägt, sondern das ursprüngliche Rechteck zurückkommt. | grün | nie geprüft |
TestZoomAufLayer.test_ausdehnung_wird_ins_kbs_der_kartenansicht_umgerechnet |
Prüft, dass zoom_auf_layer die Layer-Ausdehnung vom Layer-KBS in das KBS der Kartenansicht umrechnet, bevor gezoomt wird. | grün | nie geprüft |
TestZoomAufLayer.test_ohne_layer_oder_kartenansicht_kein_zoom |
Prüft, dass zoom_auf_layer ohne Layer oder ohne Kartenansicht nichts tut und False liefert. | grün | nie geprüft |
TestDruckKbs.test_druck_kbs_ist_das_kbs_des_verfahrensgebiets |
Prüft, dass die Layoutkarte im KBS des Verfahrensgebiet-Layers steht und ohne Verfahrensgebiet das Projekt-KBS gilt. | grün | nie geprüft |
TestDruckKbs.test_kartenfenster_wird_vom_kbs_der_kartenansicht_umgerechnet |
Prüft, dass der Druckbereich „wie Kartenfenster“ vom KBS der Kartenansicht in das Druck-KBS umgerechnet wird. | grün | nie geprüft |
TestDruckKbs.test_auswahl_wird_vor_dem_puffern_vom_layer_kbs_umgerechnet |
Prüft, dass der Druckbereich „Auswahl“ aus dem KBS des Auswahl-Layers umgerechnet und erst danach gepuffert wird. | grün | nie geprüft |
TestDruckKbs.test_ohne_druck_kbs_wird_nicht_umgerechnet |
Prüft, dass _resolve_extent ohne Druck-KBS wie bisher nicht umrechnet (Aufrufe ohne den neuen Parameter). | grün | nie geprüft |
TestDruckKbs.test_druckrechteck_wird_ins_kbs_seines_layers_umgerechnet |
Prüft, dass ein in der Kartenansicht gezeichnetes Druckrechteck vor dem Speichern in das KBS des Druckrechteck-Layers umgerechnet wird. | grün | nie geprüft |
TestLayoutkarteImDruckKbs.test_hauptkarte_bekommt_das_kbs_vor_der_ausdehnung |
Prüft, dass die Hauptkarte eines neuen Layouts das Druck-KBS erhält, bevor ihre Ausdehnung gesetzt wird. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_excel_importer.py
Worum es in der Datei geht: Tests für sn_basis/modules/excel_importer.py (Excel-Import für Linklisten, Issue #63).
Testgruppen:
ImportXlsxTests(5 Testfälle): — (Docstring fehlt)ExcelImporterKonstruktorTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
ImportXlsxTests.test_erfolgreicher_import_liefert_zeilen_als_dicts |
Prüft, dass eine gültige Excel-Datei als Liste von Dicts mit den Header-Spalten geliefert wird. | grün | nie geprüft |
ImportXlsxTests.test_fehlende_datei_liefert_leere_liste |
Prüft, dass eine nicht vorhandene Datei eine leere Liste liefert, statt eine Ausnahme zu werfen. | grün | nie geprüft |
ImportXlsxTests.test_arbeitsblatt_ohne_header_liefert_leere_liste_und_meldet_kein_header |
Prüft, dass ein leeres Arbeitsblatt ohne Header-Zeile 'kein_header' meldet und eine leere Liste liefert. | grün | nie geprüft |
ImportXlsxTests.test_header_zeile_nur_leere_werte_liefert_kein_header |
Prüft, dass eine Header-Zeile aus ausschließlich leeren Zellen ebenfalls als 'kein_header' gilt. | grün | nie geprüft |
ImportXlsxTests.test_nicht_lesbare_datei_liefert_leere_liste_und_meldet_read_error |
Prüft, dass eine Datei mit ungültigem Excel-Inhalt 'read_error' meldet und eine leere Liste liefert. | grün | nie geprüft |
ExcelImporterKonstruktorTests.test_ohne_dateipfad_wirft_valueerror |
Prüft, dass ExcelImporter ohne Dateipfad einen ValueError wirft. | grün | nie geprüft |
ExcelImporterKonstruktorTests.test_ohne_pruefmanager_wirft_valueerror |
Prüft, dass ExcelImporter ohne Pruefmanager einen ValueError wirft. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_laenderkennung.py
Worum es in der Datei geht: Unit-Tests für sn_basis.functions.laenderkennung.
Testgruppen:
TestGetLaenderkennung(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestGetLaenderkennung.test_bekannter_praefix_gibt_kennung_zurueck |
Prüft, dass der Präfix 'sn' die ALKIS-Länderkennung '14' für Sachsen liefert. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_praefix_gross_klein_unabhaengig |
Prüft, dass die Präfixsuche groß-/kleinschreibungsunabhängig ist. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror |
Prüft, dass ein unbekannter Präfix einen KeyError auslöst. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet |
Prüft, dass ohne Argument der Präfix aus dem Modulnamen des Aufrufers abgeleitet wird. | grün | geprüft am 2026-09-17 |
TestGetLaenderkennung.test_mapping_enthaelt_sachsen |
Prüft, dass die Mapping-Tabelle LAENDERKENNUNGEN einen Eintrag für Sachsen ('sn' -> '14') enthält. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_landkreise.py
Worum es in der Datei geht: Tests für sn_basis/functions/landkreise.py::_lade_landkreise (Issue #65).
Testgruppen:
LadeLandkreiseTests(4 Testfälle): — (Docstring fehlt)LandkreislisteVollstaendigkeitTests(1 Testfälle): — (Docstring fehlt)AlleLandkreiseSentinelTests(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
LadeLandkreiseTests.test_laedt_die_echte_landkreisliste_nicht_leer |
Prüft, dass _lade_landkreise die echte landkreise.json als nicht-leere Liste von (Kennzahl, Name)-Tupeln liefert. | grün | geprüft am 2026-09-22 |
LadeLandkreiseTests.test_fehlende_datei_liefert_leere_liste |
Prüft, dass eine nicht lesbare Datenquelle eine leere Liste liefert, statt eine Ausnahme zu werfen. | grün | geprüft am 2026-09-22 |
LadeLandkreiseTests.test_ungueltiges_json_liefert_leere_liste |
Prüft, dass eine Datei mit syntaktisch ungültigem JSON eine leere Liste liefert, statt eine Ausnahme zu werfen. | grün | geprüft am 2026-09-22 |
LadeLandkreiseTests.test_alle_kennzahlen_kommen_genau_einmal_vor |
Prüft, dass jede Landkreiskennzahl in der geladenen Landkreisliste genau einmal vorkommt. | grün | geprüft am 2026-09-22 |
LandkreislisteVollstaendigkeitTests.test_landkreisliste_enthaelt_alle_13_saechsischen_gebietskoerperschaften |
Prüft, dass die geladene Landkreisliste genau die 13 amtlichen sächsischen Kreisschlüssel und Namen enthält. | grün | geprüft am 2026-09-22 |
AlleLandkreiseSentinelTests.test_alle_landkreise_sentinel_kollidiert_nicht_mit_echter_kennzahl |
Prüft, dass die Sentinel-Kennzahl ALLE_LANDKREISE mit keiner echten Landkreiskennzahl übereinstimmt. | grün | geprüft am 2026-09-22 |
Plugin_SN_Basis/tests/test_layerloader.py
Worum es in der Datei geht: Tests für sn_basis/modules/LayerLoader.py (Layer erzeugen/filtern/laden, Issue #63).
Testgruppen:
CreateLayerTests(12 Testfälle): — (Docstring fehlt)TransformGeometryTests(4 Testfälle): — (Docstring fehlt)TransformExtentTests(3 Testfälle): — (Docstring fehlt)FilterByExtentTests(6 Testfälle): — (Docstring fehlt)FilterByLayerTests(4 Testfälle): — (Docstring fehlt)AddToProjectTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
CreateLayerTests.test_wfs_baut_uri_ohne_getfeature_parameter |
Prüft, dass für WFS die GetFeature-spezifischen Parameter aus der URI entfernt werden. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_wfs_mit_url_praefix_wird_nicht_doppelt_gesetzt |
Prüft, dass ein bereits vorhandenes 'url='-Präfix im WFS-Link nicht verdoppelt wird. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_wms_baut_url_praefix_und_nutzt_rasterlayer |
Prüft, dass WMS-Layer über QgsRasterLayer mit 'url='-Präfix erzeugt werden. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_rest_featureserver_ergaenzt_layer_index |
Prüft, dass ein REST-Link auf '.../FeatureServer' automatisch um '/0' ergänzt wird. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_ogr_provider_nutzt_link_direkt |
Prüft, dass ein OGR-Provider den Link unverändert an QgsVectorLayer übergibt. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_ungueltiger_layer_meldet_layer_nicht_verfuegbar |
Prüft, dass ein ungültig erzeugter Layer als 'layer_nicht_verfuegbar' gemeldet wird und None liefert. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_ausnahme_beim_erstellen_wird_abgefangen |
Prüft, dass eine Ausnahme beim Layer-Erstellen abgefangen und als Fehlerergebnis gemeldet wird. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_unbekannter_provider_faellt_auf_ogr_zurueck |
Prüft, dass ein unbekannter Provider wie 'ogr' behandelt wird und den Link unverändert übergibt. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_rest_ohne_featureserver_endung_bleibt_unveraendert |
Prüft, dass ein REST-Link ohne 'FeatureServer'-Endung nicht um '/0' ergänzt wird. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_rest_mit_url_praefix_wird_nicht_doppelt_gesetzt |
Prüft, dass ein bereits vorhandenes 'url='-Präfix im REST-Link nicht verdoppelt wird. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_wfs_erkennt_typename_in_grossschreibung |
Prüft, dass für WFS auch der Parameter 'TYPENAME' (Großschreibung) als Layername erkannt wird. | grün | geprüft am 2026-09-22 |
CreateLayerTests.test_wfs_ergaenzt_service_und_version_defaults |
Prüft, dass für WFS ohne 'service'/'version'-Parameter die Defaults 'WFS'/'2.0.0' ergänzt werden. | grün | geprüft am 2026-09-22 |
TransformGeometryTests.test_fehlender_layer_liefert_geometrie_unveraendert |
Prüft, dass ohne Quell- oder Ziel-Layer die Geometrie unverändert zurückgegeben wird. | grün | geprüft am 2026-09-22 |
TransformGeometryTests.test_gleiche_crs_liefert_geometrie_unveraendert |
Prüft, dass bei identischem CRS von Quelle und Ziel keine Transformation stattfindet. | grün | geprüft am 2026-09-22 |
TransformGeometryTests.test_unterschiedliche_crs_klont_und_transformiert_geometrie |
Prüft, dass bei unterschiedlichem CRS eine geklonte, transformierte Geometrie geliefert wird. | grün | geprüft am 2026-09-22 |
TransformGeometryTests.test_ausnahme_bei_der_transformation_liefert_geometrie_unveraendert |
Prüft, dass eine Ausnahme während der CRS-Transformation abgefangen wird und die ursprüngliche Geometrie unverändert liefert. | grün | geprüft am 2026-09-22 |
TransformExtentTests.test_gleiche_crs_liefert_extent_unveraendert |
Prüft, dass bei identischem CRS von Quelle und Ziel der Extent unverändert bleibt. | grün | geprüft am 2026-09-22 |
TransformExtentTests.test_unterschiedliche_crs_nutzt_coordinate_transform |
Prüft, dass bei unterschiedlichem CRS der Extent über QgsCoordinateTransform umgerechnet wird. | grün | geprüft am 2026-09-22 |
TransformExtentTests.test_ausnahme_bei_der_extent_transformation_liefert_extent_unveraendert |
Prüft, dass eine Ausnahme während der Extent-Transformation abgefangen wird und den ursprünglichen Extent unverändert liefert. | grün | geprüft am 2026-09-22 |
FilterByExtentTests.test_ungueltiger_layer_wird_unveraendert_zurueckgegeben |
Prüft, dass ein ungültiger Layer von filter_by_extent unverändert zurückgegeben wird. | grün | geprüft am 2026-09-22 |
FilterByExtentTests.test_ohne_extent_wird_layer_unveraendert_zurueckgegeben |
Prüft, dass ohne Extent (None) der Layer unverändert zurückgegeben wird. | grün | geprüft am 2026-09-22 |
FilterByExtentTests.test_falscher_layertyp_wird_unveraendert_zurueckgegeben |
Prüft, dass ein Nicht-Vektor-Layer (z. B. Rasterlayer) unverändert zurückgegeben wird. | grün | geprüft am 2026-09-22 |
FilterByExtentTests.test_keine_treffer_liefert_none |
Prüft, dass ein Raumfilter ohne Treffer None statt eines leeren Layers liefert. | grün | geprüft am 2026-09-22 |
FilterByExtentTests.test_abbruch_liefert_none_und_meldet_needs_user_action |
Prüft, dass ein Abbruch während des Raumfilters None liefert und gemeldet wird. | grün | geprüft am 2026-09-22 |
FilterByExtentTests.test_erfolgreicher_filter_liefert_neuen_layer_mit_features |
Prüft, dass ein erfolgreicher BBOX-Filter einen neuen Speicherlayer mit den gefundenen Features liefert. | grün | geprüft am 2026-09-22 |
FilterByLayerTests.test_ungueltiger_layer_oder_filterlayer_wird_unveraendert_zurueckgegeben |
Prüft, dass ein ungültiger Haupt- oder Filter-Layer unverändert zurückgegeben wird. | grün | geprüft am 2026-09-22 |
FilterByLayerTests.test_filterlayer_ohne_features_liefert_none |
Prüft, dass ein Filter-Layer ohne Features (leere Vereinigungsgeometrie) None liefert. | grün | geprüft am 2026-09-22 |
FilterByLayerTests.test_erfolgreicher_geometriefilter_liefert_neuen_layer |
Prüft, dass ein erfolgreicher Geometriefilter einen neuen Speicherlayer mit den passenden Features liefert. | grün | geprüft am 2026-09-22 |
FilterByLayerTests.test_keine_ueberschneidung_liefert_none |
Prüft, dass ohne überschneidende Features None statt eines leeren Layers geliefert wird. | grün | geprüft am 2026-09-22 |
AddToProjectTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt |
Prüft, dass ein gültiger Layer über QgsProject.instance().addMapLayer hinzugefügt wird. | grün | geprüft am 2026-09-22 |
AddToProjectTests.test_ungueltiger_layer_wird_nicht_hinzugefuegt |
Prüft, dass ein ungültiger Layer nicht ans Projekt übergeben wird. | grün | geprüft am 2026-09-22 |
AddToProjectTests.test_none_layer_wird_nicht_hinzugefuegt |
Prüft, dass ein fehlender Layer (None) nicht ans Projekt übergeben wird. | grün | geprüft am 2026-09-22 |
Plugin_SN_Basis/tests/test_layerpruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestLayerpruefer(10 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestLayerpruefer.test_layer_exists |
Prüft, dass ein nicht vorhandener Layer als 'layer_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_unsichtbar |
Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als 'layer_unsichtbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_falscher_layertyp |
Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als 'falscher_layertyp' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_falscher_geotyp |
Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als 'falscher_geotyp' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_leer |
Prüft, dass ein Layer ohne Features als 'layer_leer' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_falsches_crs |
Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als 'falsches_crs' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_felder_fehlen |
Prüft, dass ein Layer mit fehlenden Pflichtfeldern als 'felder_fehlen' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_datenquelle_unerwartet |
Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als 'datenquelle_unerwartet' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_nicht_editierbar |
Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als 'layer_nicht_editierbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLayerpruefer.test_layer_ok |
Prüft, dass ein Layer, der alle Anforderungen erfüllt, als 'ok' bestätigt wird. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_linkpruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestLinkpruefer(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestLinkpruefer.test_leere_eingabe |
Prüft, dass eine leere Eingabe ohne Netzwerk-/Dateizugriff als 'leer' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_remote_link_ok |
Prüft, dass eine erreichbare Remote-URL (HTTP HEAD ohne Fehler) als 'ok' bestätigt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_remote_link_error |
Prüft, dass eine Remote-URL mit Fehlerantwort als 'url_nicht_erreichbar' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_remote_link_network_error |
Prüft, dass eine ausbleibende Netzwerkantwort (None) als 'netzwerkfehler' gemeldet wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_local_link_not_found |
Prüft, dass ein nicht existierender lokaler Pfad als 'pfad_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestLinkpruefer.test_local_link_ok |
Prüft, dass ein existierender lokaler Pfad als 'ok' bestätigt wird. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_ly_existence_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/ly_existence_wrapper.py::layer_exists/layer_is_valid/layer_is_usable (Issue #65, #76).
Testgruppen:
LayerExistsTests(3 Testfälle): — (Docstring fehlt)LayerIsValidTests(5 Testfälle): — (Docstring fehlt)LayerIsUsableTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
LayerExistsTests.test_none_existiert_nicht |
Prüft, dass layer_exists für None False liefert. | grün | geprüft am 2026-09-23 |
LayerExistsTests.test_vorhandenes_objekt_existiert |
Prüft, dass layer_exists für ein vorhandenes Layer-Objekt True liefert. | grün | geprüft am 2026-09-23 |
LayerExistsTests.test_ungueltiger_layer_existiert_trotzdem |
Prüft, dass layer_exists die Gültigkeit nicht bewertet: ein ungültiger Layer gilt als vorhanden. | grün | geprüft am 2026-09-23 |
LayerIsValidTests.test_none_ist_nicht_gueltig |
Prüft, dass layer_is_valid für None False liefert. | grün | geprüft am 2026-09-23 |
LayerIsValidTests.test_objekt_ohne_isvalid_ist_nicht_gueltig |
Prüft, dass ein Objekt ohne isValid()-Methode als ungültig gilt. | grün | geprüft am 2026-09-23 |
LayerIsValidTests.test_gueltiger_layer_liefert_true |
Prüft, dass ein Layer mit isValid()==True als gültig erkannt wird. | grün | geprüft am 2026-09-23 |
LayerIsValidTests.test_ungueltiger_layer_liefert_false |
Prüft, dass ein Layer mit isValid()==False als ungültig erkannt wird. | grün | geprüft am 2026-09-23 |
LayerIsValidTests.test_ausnahme_bei_isvalid_liefert_false |
Prüft, dass eine Ausnahme in isValid() abgefangen wird und False liefert. | grün | geprüft am 2026-09-23 |
LayerIsUsableTests.test_none_ist_nicht_nutzbar |
Prüft, dass layer_is_usable für None False liefert. | grün | geprüft am 2026-09-23 |
LayerIsUsableTests.test_gueltiger_layer_ist_nutzbar |
Prüft, dass ein vorhandener, gültiger Layer als nutzbar gilt. | grün | geprüft am 2026-09-23 |
LayerIsUsableTests.test_ungueltiger_layer_ist_nicht_nutzbar |
Prüft, dass ein vorhandener, aber ungültiger Layer als nicht nutzbar gilt. | grün | geprüft am 2026-09-23 |
Plugin_SN_Basis/tests/test_ly_style_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/ly_style_wrapper.py::apply_style_from_path (Issue #65).
Testgruppen:
ApplyStyleFromPathTests(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
ApplyStyleFromPathTests.test_fehlender_layer_liefert_false |
Prüft, dass ein fehlender Layer (None) False liefert. | grün | geprüft am 2026-09-23 |
ApplyStyleFromPathTests.test_erfolgreiches_laden_liefert_true_und_triggert_repaint |
Prüft, dass ein erfolgreich geladener Stil True liefert und den Layer neu zeichnet. | grün | geprüft am 2026-09-23 |
ApplyStyleFromPathTests.test_pfad_wird_als_text_an_loadnamedstyle_uebergeben |
Prüft, dass ein als Path übergebener Stilpfad unverändert als Text an loadNamedStyle weitergereicht wird. | grün | geprüft am 2026-09-23 |
ApplyStyleFromPathTests.test_fehlgeschlagenes_laden_liefert_false_ohne_repaint |
Prüft, dass ein fehlgeschlagenes Laden False liefert, ohne den Layer neu zu zeichnen. | grün | geprüft am 2026-09-23 |
ApplyStyleFromPathTests.test_ausnahme_beim_laden_wird_abgefangen |
Prüft, dass eine Ausnahme beim Laden des Stils abgefangen wird und False liefert. | grün | geprüft am 2026-09-23 |
Plugin_SN_Basis/tests/test_message_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/message_wrapper.py (Issue #65).
Testgruppen:
GetMessageBarTests(2 Testfälle): — (Docstring fehlt)PushMessageTests(2 Testfälle): — (Docstring fehlt)MeldungsstufenTests(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
GetMessageBarTests.test_liefert_objekt_mit_pushmessage_methode |
Prüft, dass _get_message_bar ein Objekt mit aufrufbarer pushMessage()-Methode liefert. | grün | geprüft am 2026-09-23 |
GetMessageBarTests.test_faellt_bei_fehlerhaftem_iface_auf_mock_bar_zurueck |
Prüft, dass ein Fehler beim Zugriff auf iface.messageBar() auf eine funktionierende Mock-MessageBar zurückfällt. | grün | geprüft am 2026-09-23 |
PushMessageTests.test_liefert_dict_mit_titel_text_level_und_dauer |
Prüft, dass push_message im Mock-Modus ein Dict mit den übergebenen Werten liefert. | grün | geprüft am 2026-09-23 |
PushMessageTests.test_fehler_in_der_message_bar_wird_abgefangen |
Prüft, dass eine fehlschlagende MessageBar push_message nicht zum Absturz bringt, sondern None liefert. | grün | geprüft am 2026-09-23 |
MeldungsstufenTests.test_info_warning_error_success_setzen_die_passende_meldungsstufe |
Prüft, dass info, warning, error und success jeweils ihre eigene Qgis.MessageLevel-Stufe setzen und Titel, Text und Dauer weiterreichen. | grün | geprüft am 2026-09-23 |
Plugin_SN_Basis/tests/test_navigation.py
Worum es in der Datei geht: Tests für sn_basis/ui/navigation.py::Navigation (Issue #67, ohne init_ui – s. Docstring dort).
Testgruppen:
AddActionTests(3 Testfälle): — (Docstring fehlt)FinalizeMenuAndToolbarTests(4 Testfälle): — (Docstring fehlt)SetActivePluginTests(2 Testfälle): — (Docstring fehlt)RemoveActionTests(3 Testfälle): — (Docstring fehlt)RemoveAllTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
AddActionTests.test_ohne_plugin_group_liefert_none |
Prüft, dass add_action ohne initialisierte Aktionsgruppe None liefert und nichts anlegt. | grün | geprüft am 2026-09-29 |
AddActionTests.test_erzeugt_action_und_fuegt_sie_gruppe_und_liste_hinzu |
Prüft, dass add_action eine Action erzeugt, ihr die Gruppe zuweist und sie priorisiert in der Liste ablegt. | grün | geprüft am 2026-09-29 |
AddActionTests.test_ohne_priority_wird_standardprioritaet_100_verwendet |
Prüft, dass add_action ohne Angabe von priority die Standardpriorität 100 ablegt. | grün | geprüft am 2026-09-29 |
FinalizeMenuAndToolbarTests.test_ohne_menu_oder_toolbar_tut_nichts |
Prüft, dass finalize_menu_and_toolbar ohne Menü oder Toolbar keine Ausnahme wirft. | grün | geprüft am 2026-09-29 |
FinalizeMenuAndToolbarTests.test_sortiert_und_fuegt_aktionen_in_prioritaetsreihenfolge_hinzu |
Prüft, dass finalize_menu_and_toolbar Aktionen nach Priorität sortiert in Menü und Toolbar einträgt. | grün | geprüft am 2026-09-29 |
FinalizeMenuAndToolbarTests.test_nur_menu_ohne_toolbar_laesst_menu_unveraendert |
Prüft, dass finalize_menu_and_toolbar bei fehlender Toolbar auch das vorhandene Menü nicht leert oder befüllt. | grün | geprüft am 2026-09-29 |
FinalizeMenuAndToolbarTests.test_gleiche_prioritaet_behaelt_registrierungsreihenfolge |
Prüft, dass finalize_menu_and_toolbar Aktionen gleicher Priorität in der Reihenfolge ihrer Registrierung einträgt. | grün | geprüft am 2026-09-29 |
SetActivePluginTests.test_setzt_nur_aktive_action_auf_checked |
Prüft, dass set_active_plugin nur die übergebene Action markiert, alle anderen abwählt. | grün | geprüft am 2026-09-29 |
SetActivePluginTests.test_ohne_aktive_action_setzt_alle_auf_false |
Prüft, dass set_active_plugin ohne aktive Action alle bestehenden Actions abwählt. | grün | geprüft am 2026-09-29 |
RemoveActionTests.test_none_action_tut_nichts |
Prüft, dass remove_action mit None keine Ausnahme wirft und die Liste unverändert lässt. | grün | geprüft am 2026-09-29 |
RemoveActionTests.test_entfernt_action_aus_menu_toolbar_und_liste |
Prüft, dass remove_action die Action aus Menü, Toolbar und der internen Liste entfernt. | grün | geprüft am 2026-09-29 |
RemoveActionTests.test_ohne_menu_oder_toolbar_entfernt_trotzdem_aus_liste |
Prüft, dass remove_action ohne Menü/Toolbar trotzdem aus der internen Liste entfernt. | grün | geprüft am 2026-09-29 |
RemoveAllTests.test_entfernt_menu_toolbar_und_setzt_zustand_zurueck |
Prüft, dass remove_all Menü und Toolbar über die Wrapper entfernt und den Navigationszustand zurücksetzt. | grün | geprüft am 2026-09-29 |
RemoveAllTests.test_loescht_menu_und_toolbar_objekt_damit_kein_duplikat_uebrig_bleibt |
Prüft, dass remove_all deleteLater() auf Menü und Toolbar aufruft, damit sie den Qt-Objektbaum tatsächlich verlassen (Issue #72). | grün | geprüft am 2026-09-29 |
RemoveAllTests.test_ohne_menu_und_toolbar_ruft_wrapper_nicht_auf |
Prüft, dass remove_all ohne vorhandenes Menü/Toolbar die Wrapper nicht aufruft, aber die Liste leert. | grün | geprüft am 2026-09-29 |
Plugin_SN_Basis/tests/test_os_wrapper.py
Worum es in der Datei geht: Tests für sn_basis/functions/os_wrapper.py::is_case_sensitive_fs (Issue #67).
Testgruppen:
IsCaseSensitiveFsTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
IsCaseSensitiveFsTests.test_windows_ist_nicht_case_sensitiv |
Prüft, dass Windows als nicht case-sensitives Dateisystem gilt. | grün | geprüft am 2026-09-29 |
IsCaseSensitiveFsTests.test_macos_ist_nicht_case_sensitiv |
Prüft, dass macOS als nicht case-sensitives Dateisystem gilt. | grün | geprüft am 2026-09-29 |
IsCaseSensitiveFsTests.test_linux_ist_case_sensitiv |
Prüft, dass Linux als case-sensitives Dateisystem gilt. | grün | geprüft am 2026-09-29 |
Plugin_SN_Basis/tests/test_print_kartenrand.py
Worum es in der Datei geht: Tests für modules/print_kartenrand.py – Anordnung des Kartenrands neben der Karte (Basis #93).
Testgruppen:
TestBerechneAnordnung(5 Testfälle): — (Docstring fehlt)TestOrdneKartenrandAn(5 Testfälle): — (Docstring fehlt)TestMindestbreiteBeimLaden(3 Testfälle): — (Docstring fehlt)TestAnbindungPrintLayout(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestBerechneAnordnung.test_passt_einspaltig_nichts_aendert_sich |
Prüft, dass bei genug Platz neben der Karte einspaltig angeordnet wird und Seite und Kartenschild bleiben. | grün | nie geprüft |
TestBerechneAnordnung.test_mehr_spalten_und_breiterer_rand |
Prüft, dass bei zu hohen Legenden die kleinste passende Spaltenzahl gewählt und der Kartenrand dafür verbreitert wird. | grün | nie geprüft |
TestBerechneAnordnung.test_seite_wird_hoeher_wenn_auch_drei_spalten_nicht_reichen |
Prüft, dass die Seite höher wird und Quellenangabe und Kartenschild nach unten rutschen, wenn auch drei Spalten nicht reichen. | grün | nie geprüft |
TestBerechneAnordnung.test_seite_wird_nie_kleiner |
Prüft, dass Seitenbreite und -höhe nie unter die ursprüngliche Seitengröße fallen. | grün | nie geprüft |
TestBerechneAnordnung.test_ohne_legenden_nur_kartenschild |
Prüft, dass ohne Legenden nur Quellenangabe und Kartenschild zählen und die Seite bei zu niedriger Karte höher wird. | grün | nie geprüft |
TestOrdneKartenrandAn.test_seite_hoeher_und_kartenschild_verschoben |
Prüft, dass bei zu niedriger Karte die Legende dreispaltig wird, die Seite wächst und Quellenangabe und Kartenschild um denselben Betrag nach unten rutschen. | grün | nie geprüft |
TestOrdneKartenrandAn.test_spalten_ungleich_breit_und_text_umgebrochen |
Prüft, dass die Legenden ungleich breite Spalten und einen automatischen Textumbruch bekommen, damit mehrspaltige Legenden nicht unnötig breit werden (#96). | grün | nie geprüft |
TestOrdneKartenrandAn.test_legenden_mindestens_so_breit_wie_kartenschild |
Prüft, dass die Legenden die Breite des Kartenschilds als Mindestbreite bekommen und das Layout sie für das Neuladen vermerkt. | grün | nie geprüft |
TestOrdneKartenrandAn.test_passt_nichts_wird_verschoben |
Prüft, dass bei ausreichend hoher Karte weder Seite noch Kartenschild verändert werden. | grün | nie geprüft |
TestOrdneKartenrandAn.test_ohne_karte_keine_anordnung |
Prüft, dass ein Layout ohne Hauptkarte unverändert bleibt. | grün | nie geprüft |
TestMindestbreiteBeimLaden.test_mindestbreite_nur_fuer_vermerkte_layouts |
Prüft, dass beim Laden die Mindestbreite nur an Layouts mit Vermerk wieder gesetzt wird. | grün | nie geprüft |
TestMindestbreiteBeimLaden.test_listener_verbinden_und_trennen |
Prüft, dass der Listener readProject einmal verbindet, beim Trennen wieder löst und beides mehrfach aufgerufen werden darf. | grün | nie geprüft |
TestMindestbreiteBeimLaden.test_ohne_qgis_kein_listener |
Prüft, dass im Mock-Modus kein Listener verbunden wird. | grün | nie geprüft |
TestAnbindungPrintLayout.test_vorlage_ordnet_kartenrand_an |
Prüft, dass PrintLayout beim Anlegen einer Vorlage den Kartenrand anordnen lässt. | grün | nie geprüft |
TestAnbindungPrintLayout.test_fehler_bei_der_anordnung_verhindert_die_vorlage_nicht |
Prüft, dass ein Fehler bei der Anordnung nur als Warnung gemeldet wird und keine Ausnahme durchreicht. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_print_layout.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPrintLayout(8 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPrintLayout.test_create_legend_item_links_map_and_enables_map_filtering |
Prüft, dass eine erzeugte Legende mit der übergebenen Karte verknüpft ist und automatisch nach deren Sichtbarkeit gefiltert wird. | grün | geprüft am 2026-09-29 |
TestPrintLayout.test_create_legend_item_does_not_copy_project_layers_into_legend_model |
Prüft, dass _create_legend_item das Legendenmodell nicht von Hand mit Projekt-Layern befüllt. | grün | geprüft am 2026-09-29 |
TestPrintLayout.test_configure_legend_size_uses_content_adaptive_size |
Prüft, dass die Legendengröße inhaltsadaptiv bestimmt wird (kein manuelles Resize) und die ermittelte Höhe zurückgegeben wird. | grün | geprüft am 2026-09-29 |
TestPrintLayout.test_configure_hauptkarte_grids_uses_wrapper_constants |
Prüft, dass das Gitternetz der Hauptkarte mit den erwarteten Stil-, Rahmen- und Beschriftungskonstanten (nur rechts/unten beschriftet, Schriftgröße und Hintergrund) konfiguriert wird. | grün | geprüft am 2026-09-29 |
TestPrintLayout.test_create_single_page_layout_keeps_legend_linked_to_hauptkarte_and_theme |
Prüft, dass ein einseitiges Layout die Hauptkarte auf das übergebene Kartenthema festlegt und die Legende mit dieser Karte verknüpft bleibt. | grün | geprüft am 2026-09-29 |
TestPrintLayout.test_create_single_page_layout_bricht_bei_vorhandenem_layoutnamen_ab |
Prüft, dass create_single_page_layout bei bereits vorhandenem Layoutnamen einen ValueError wirft und kein Layout anlegt. | grün | geprüft am 2026-09-29 |
TestPrintLayout.test_create_single_page_layout_ohne_thema_oder_aktuell_folgt_keinem_kartenthema |
Prüft, dass die Hauptkarte bei leerem Thema oder Thema „aktuell" keinem Kartenthema folgt, sondern die aktuelle Kartenansicht zeigt. | grün | geprüft am 2026-09-29 |
TestPrintLayout.test_create_single_page_layout_setzt_nur_gueltigen_plotmassstab |
Prüft, dass die Hauptkarte einen positiven Plotmaßstab übernimmt und bei 0, negativem Wert oder NaN keinen Maßstab gesetzt bekommt. | grün | geprüft am 2026-09-29 |
Plugin_SN_Basis/tests/test_print_logic.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPrintLogic(17 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPrintLogic.test_get_baufreigabe_page_dimensions_prefers_a4_for_small_extent |
Prüft, dass für einen kleinen Kartenausschnitt (Baufreigabe) das Format DIN A4 ohne Fallback gewählt wird. | grün | nie geprüft |
TestPrintLogic.test_get_baufreigabe_page_dimensions_escalates_to_a3 |
Prüft, dass ein größerer Kartenausschnitt (Baufreigabe) auf DIN A3 eskaliert wird. | grün | nie geprüft |
TestPrintLogic.test_get_baufreigabe_page_dimensions_respects_a4_as_maximum_with_fallback |
Prüft, dass bei auf DIN A4 begrenztem Höchstformat ein eigentlich A3-großer Ausschnitt mit Fallback-Kennzeichnung auf A4 reduziert wird. | grün | nie geprüft |
TestPrintLogic.test_get_baufreigabe_page_dimensions_falls_back_to_a3_for_oversize_extent |
Prüft, dass ein Ausschnitt, der auch DIN A3 übersteigt, mit Fallback-Kennzeichnung auf DIN A3 begrenzt wird. | grün | nie geprüft |
TestPrintLogic.test_select_standard_page_layout_uses_a4_as_minimum_sheet |
Prüft, dass für einen kleinen Ausschnitt trotz Höchstgrenze DIN A3 mindestens DIN A4 als Blattgröße gewählt wird. | grün | nie geprüft |
TestPrintLogic.test_select_standard_page_layout_limits_hauptkarte_to_a3 |
Prüft, dass ein die Fläche voll ausnutzender Ausschnitt auf DIN A3 als größtes zulässiges Format begrenzt wird. | grün | nie geprüft |
TestPrintLogic.test_select_standard_page_layout_returns_none_if_a3_is_too_small |
Prüft, dass kein Layout gewählt wird (None), wenn der Ausschnitt selbst DIN A3 als Höchstformat übersteigt. | grün | nie geprüft |
TestPrintLogic.test_get_standard_layout_dimensions_uses_a4_and_forces_fit_for_small_extent |
Prüft, dass für einen kleinen Ausschnitt DIN A4 gewählt und das Einpassen (force_fit) erzwungen wird. | grün | nie geprüft |
TestPrintLogic.test_get_standard_layout_dimensions_caps_endlosrolle_width_at_2000_mm |
Prüft, dass bei aktiviertem Formfaktor (Endlosrolle) die Seitenbreite auf die maximale Rollenbreite (2000 mm) begrenzt wird. | grün | nie geprüft |
TestPrintLogic.test_apply_standard_minimum_a4_fallback_for_small_page |
Prüft, dass eine zu kleine Seite auf die A4-Mindestgröße angehoben und als erzwungen (forced) markiert wird. | grün | nie geprüft |
TestPrintLogic.test_apply_standard_minimum_a4_fallback_keeps_large_page |
Prüft, dass eine bereits ausreichend große Seite (A3) unverändert bleibt und nicht als erzwungen markiert wird. | grün | nie geprüft |
TestPrintLogic.test_does_plot_fit_page_true_for_standard_a4 |
Prüft, dass ein Kartenobjekt, das in eine DIN A4-Seite passt, als passend erkannt wird. | grün | nie geprüft |
TestPrintLogic.test_does_plot_fit_page_false_if_objects_exceed_page |
Prüft, dass ein Kartenobjekt, das die Seitenbreite überschreitet, als nicht passend erkannt wird. | grün | nie geprüft |
TestPrintLogic.test_set_druckbereich_accepts_wie_kartenfenster |
Prüft, dass die Auswahl 'wie Kartenfenster' als Projektvariable 'druckbereich' gespeichert wird. | grün | nie geprüft |
TestPrintLogic.test_get_canvas_extent_returns_valid_extent |
Prüft, dass der aktuelle Kartenausschnitt des Kartenfensters unverändert zurückgegeben wird. | grün | nie geprüft |
TestPrintLogic.test_resolve_extent_uses_canvas_extent_without_buffer |
Prüft, dass bei Druckbereich 'wie Kartenfenster' der Kartenausschnitt ohne Puffer und ohne verknüpften Layer übernommen wird. | grün | nie geprüft |
TestPrintLogic.test_resolve_extent_uses_rectangle_extent_without_buffer |
Prüft, dass bei Druckbereich 'Rechteck' der gezeichnete Ausschnitt ohne Puffer und ohne verknüpften Layer übernommen wird. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_print_tab.py
Worum es in der Datei geht: Tests für sn_basis/ui/tabs/print_tab.py::PrintTab (Issue #67).
Testgruppen:
SetServicesTests(2 Testfälle): — (Docstring fehlt)RestoreStateTests(2 Testfälle): — (Docstring fehlt)OnDruckpufferClickedTests(3 Testfälle): — (Docstring fehlt)OnVorlageErstellenTests(2 Testfälle): — (Docstring fehlt)ProjectSignalsTests(3 Testfälle): — (Docstring fehlt)CleanupTests(1 Testfälle): — (Docstring fehlt)ToggleAtlasTests(2 Testfälle): — (Docstring fehlt)RestoreAtlasLayerSelectionTests(2 Testfälle): — (Docstring fehlt)ThemeCollectionSignalsTests(3 Testfälle): — (Docstring fehlt)RefreshThemaComboLiveTests(2 Testfälle): — (Docstring fehlt)GetGespeicherteThemenTests(2 Testfälle): — (Docstring fehlt)GetCurrentCanvasScaleTests(3 Testfälle): — (Docstring fehlt)OnAtlasLayerChangedTests(3 Testfälle): — (Docstring fehlt)OnAuswahlAsAtlasClickedTests(2 Testfälle): — (Docstring fehlt)PopulateAtlasLayerComboTests(2 Testfälle): — (Docstring fehlt)OnAtlasErzeugenChangedTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
SetServicesTests.test_ruft_alle_set_methoden_mit_combo_werten_auf |
Prüft, dass set_services alle set_*-Methoden von PrintLogic mit den aktuellen Combo-Werten aufruft. | grün | nie geprüft |
SetServicesTests.test_ohne_combos_ruft_keine_set_methode_auf |
Prüft, dass set_services ohne vorhandene Combos keine set_*-Methode von PrintLogic aufruft. | grün | nie geprüft |
RestoreStateTests.test_gueltige_gespeicherte_werte_werden_uebernommen |
Prüft, dass _restore_state gültige gespeicherte Werte in die jeweiligen Widgets übernimmt. | grün | nie geprüft |
RestoreStateTests.test_ungueltige_oder_fehlende_werte_fallen_auf_defaults_zurueck |
Prüft, dass _restore_state ohne (gültige) gespeicherte Werte auf die Default-Konstanten zurückfällt. | grün | nie geprüft |
OnDruckpufferClickedTests.test_gueltige_zahl_setzt_variable_und_button_text |
Prüft, dass eine bestätigte, gültige Zahl den Druckpuffer speichert und den Button-Text aktualisiert. | grün | nie geprüft |
OnDruckpufferClickedTests.test_abgebrochen_aendert_nichts |
Prüft, dass ein abgebrochener Dialog den Druckpuffer nicht verändert. | grün | nie geprüft |
OnDruckpufferClickedTests.test_ungueltige_zahl_zeigt_hinweis_und_setzt_nichts |
Prüft, dass eine nicht-numerische Eingabe einen Hinweis zeigt und den Druckpuffer nicht setzt. | grün | nie geprüft |
OnVorlageErstellenTests.test_ruft_druckvorlage_anlegen_mit_combo_werten_auf |
Prüft, dass _on_vorlage_erstellen druckvorlage_anlegen mit den aktuellen Combo-Werten aufruft. | grün | nie geprüft |
OnVorlageErstellenTests.test_ohne_logic_tut_nichts |
Prüft, dass _on_vorlage_erstellen ohne gesetzte PrintLogic keine Ausnahme wirft. | grün | nie geprüft |
ProjectSignalsTests.test_connect_verbindet_alle_drei_signale |
Prüft, dass _connect_project_signals alle drei Projektsignale mit _on_project_changed verbindet. | grün | nie geprüft |
ProjectSignalsTests.test_disconnect_trennt_alle_drei_signale |
Prüft, dass _disconnect_project_signals alle drei zuvor verbundenen Projektsignale trennt. | grün | nie geprüft |
ProjectSignalsTests.test_instance_wirft_ausnahme_wird_abgefangen |
Prüft, dass eine Ausnahme bei QgsProject.instance() in beiden Signalmethoden abgefangen wird. | grün | nie geprüft |
CleanupTests.test_ruft_beide_disconnect_methoden_auf |
Prüft, dass cleanup sowohl die Theme- als auch die Projektsignale trennt. | grün | nie geprüft |
ToggleAtlasTests.test_checked_true_setzt_arrow_down_und_zeigt_inhalt |
Prüft, dass _toggle_atlas bei checked=True den Pfeil nach unten dreht und den Inhalt einblendet. | grün | nie geprüft |
ToggleAtlasTests.test_checked_false_setzt_arrow_right_und_versteckt_inhalt |
Prüft, dass _toggle_atlas bei checked=False den Pfeil nach rechts dreht und den Inhalt ausblendet. | grün | nie geprüft |
RestoreAtlasLayerSelectionTests.test_vorhandene_layer_id_setzt_layer_in_combo |
Prüft, dass eine gespeicherte Layer-ID den zugehörigen Layer im Atlas-Dropdown auswählt. | grün | nie geprüft |
RestoreAtlasLayerSelectionTests.test_leere_gespeicherte_layer_id_tut_nichts |
Prüft, dass eine leere gespeicherte Layer-ID das Projekt gar nicht erst anfragt. | grün | nie geprüft |
ThemeCollectionSignalsTests.test_connect_verbindet_alle_signale |
Prüft, dass _connect_theme_collection_signals alle Signale der Theme-Collection verbindet. | grün | nie geprüft |
ThemeCollectionSignalsTests.test_connect_ist_idempotent_wenn_schon_verbunden |
Prüft, dass _connect_theme_collection_signals bei bereits verbundenem Signal nichts erneut tut. | grün | nie geprüft |
ThemeCollectionSignalsTests.test_disconnect_trennt_alle_signale |
Prüft, dass _disconnect_theme_collection_signals alle verbundenen Theme-Signale trennt und zurücksetzt. | grün | nie geprüft |
RefreshThemaComboLiveTests.test_erhaelt_vorherige_auswahl_wenn_noch_vorhanden |
Prüft, dass _refresh_thema_combo_live die vorherige Auswahl beibehält, wenn sie noch existiert. | grün | nie geprüft |
RefreshThemaComboLiveTests.test_faellt_auf_wie_kartenfenster_zurueck_wenn_auswahl_verschwunden |
Prüft, dass _refresh_thema_combo_live auf 'wie Kartenfenster' zurückfällt, wenn die Auswahl verschwunden ist. | grün | nie geprüft |
GetGespeicherteThemenTests.test_dedupliziert_und_filtert_leere_eintraege |
Prüft, dass _get_gespeicherte_themen Duplikate und leere/None-Einträge entfernt. | grün | nie geprüft |
GetGespeicherteThemenTests.test_fehler_liefert_leere_liste |
Prüft, dass ein Fehler beim Zugriff auf die Theme-Collection eine leere Liste liefert. | grün | nie geprüft |
GetCurrentCanvasScaleTests.test_liefert_skalierung_als_float |
Prüft, dass _get_current_canvas_scale die Canvas-Skalierung als float liefert. | grün | nie geprüft |
GetCurrentCanvasScaleTests.test_ohne_canvas_liefert_none |
Prüft, dass _get_current_canvas_scale ohne verfügbares Kartenfenster None liefert. | grün | nie geprüft |
GetCurrentCanvasScaleTests.test_skalierung_null_liefert_none |
Prüft, dass eine Skalierung von 0 als None statt als 0.0 gilt. | grün | nie geprüft |
OnAtlasLayerChangedTests.test_none_oder_leer_setzt_variable_leer |
Prüft, dass None oder ein leerer Wert die Abdeckungslayer-Variable leeren. | grün | nie geprüft |
OnAtlasLayerChangedTests.test_layer_objekt_mit_id_methode_setzt_dessen_id |
Prüft, dass ein echtes Layer-Objekt (mit id()-Methode) dessen ID speichert. | grün | nie geprüft |
OnAtlasLayerChangedTests.test_string_fallback_sucht_layer_ueber_namen |
Prüft, dass ohne id()-Methode über den Layernamen im Projekt gesucht und dessen ID gespeichert wird. | grün | nie geprüft |
OnAuswahlAsAtlasClickedTests.test_erfolgreicher_layer_aktualisiert_atlas_ui |
Prüft, dass ein erfolgreich erzeugter Atlas-Layer den Atlas-Bereich öffnet und ins Dropdown übernimmt. | grün | nie geprüft |
OnAuswahlAsAtlasClickedTests.test_ohne_erzeugten_layer_tut_nichts_weiter |
Prüft, dass ohne erzeugten Atlas-Layer keine UI-Aktualisierung stattfindet. | grün | nie geprüft |
PopulateAtlasLayerComboTests.test_befuellt_combo_ohne_druckrechteck_und_leere_namen |
Prüft, dass _populate_atlas_layer_combo alle Layernamen außer 'Druckrechteck' und leeren Namen einträgt. | grün | nie geprüft |
PopulateAtlasLayerComboTests.test_ohne_atlas_layer_combo_tut_nichts |
Prüft, dass _populate_atlas_layer_combo ohne Atlas-Dropdown keine Ausnahme wirft. | grün | nie geprüft |
OnAtlasErzeugenChangedTests.test_aktiviert_speichert_variable_und_aktiviert_widgets |
Prüft, dass ein aktivierter Atlas-Schalter die Variable setzt und Layer-Combo/Button aktiviert. | grün | nie geprüft |
OnAtlasErzeugenChangedTests.test_deaktiviert_speichert_variable_und_deaktiviert_widgets |
Prüft, dass ein deaktivierter Atlas-Schalter die Variable setzt und Layer-Combo/Button deaktiviert. | grün | nie geprüft |
OnAtlasErzeugenChangedTests.test_ohne_widgets_wirft_keine_ausnahme |
Prüft, dass _on_atlas_erzeugen_changed ohne Atlas-Combo/-Button keine Ausnahme wirft. | grün | nie geprüft |
Plugin_SN_Basis/tests/test_pruef_ergebnis.py
Worum es in der Datei geht: Tests für sn_basis/modules/pruef_ergebnis.py::ist_verfahrens_db_aktion/erlaubte_persistierung/dateipfad (Issue #65/#67).
Testgruppen:
IstVerfahrensDbAktionTests(2 Testfälle): — (Docstring fehlt)ErlaubtePersistierungTests(2 Testfälle): — (Docstring fehlt)DateipfadTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
IstVerfahrensDbAktionTests.test_liefert_true_fuer_alle_verfahrens_db_aktionen |
Prüft, dass ist_verfahrens_db_aktion für alle fünf Verfahrens-DB-Aktionscodes True liefert. | grün | geprüft am 2026-09-29 |
IstVerfahrensDbAktionTests.test_liefert_false_fuer_andere_aktionen |
Prüft, dass ist_verfahrens_db_aktion für Nicht-Verfahrens-DB-Aktionen und ohne Aktion False liefert. | grün | geprüft am 2026-09-29 |
ErlaubtePersistierungTests.test_liefert_true_fuer_erzeugen_ueberschreiben_anhaengen |
Prüft, dass erlaubte_persistierung für Erzeugen/Überschreiben/Anhängen True liefert. | grün | geprüft am 2026-09-29 |
ErlaubtePersistierungTests.test_liefert_false_fuer_ueberspringen_und_reines_existieren |
Prüft, dass erlaubte_persistierung bei Überspringen und reinem 'datei_existiert' False liefert. | grün | geprüft am 2026-09-29 |
DateipfadTests.test_liefert_path_wenn_kontext_ein_path_ist |
Prüft, dass dateipfad den Kontext liefert, wenn dieser bereits ein Path-Objekt ist. | grün | geprüft am 2026-09-29 |
DateipfadTests.test_liefert_none_wenn_kontext_kein_path_ist |
Prüft, dass dateipfad None liefert, wenn der Kontext kein Path-Objekt ist (z. B. String oder Layer). | grün | geprüft am 2026-09-29 |
Plugin_SN_Basis/tests/test_pruefmanager.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPruefmanager(28 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPruefmanager.test_ok |
Prüft, dass ein bereits erfolgreiches Prüfergebnis ohne Nutzerinteraktion als 'ok' durchgereicht wird. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_leereingabe_erlaubt_ja |
Prüft, dass bei erlaubter leerer Eingabe eine Ja-Antwort des Nutzers die Entscheidung 'ok' liefert. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_leereingabe_erlaubt_nein |
Prüft, dass bei erlaubter leerer Eingabe eine Nein-Antwort die Aktion 'leereingabe_erlaubt' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_standarddatei_vorschlagen_ja |
Prüft, dass eine Ja-Antwort auf den Vorschlag der Standarddatei die Entscheidung 'ok' mit dem Standardpfad als Kontext liefert. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_standarddatei_vorschlagen_nein |
Prüft, dass eine Nein-Antwort auf den Vorschlag der Standarddatei die Aktion 'standarddatei_vorschlagen' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_temporaer_erlaubt_ja |
Prüft, dass eine Ja-Antwort auf die Rückfrage nach einer temporären Datei die Aktion 'temporaer_erzeugen' auslöst. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_temporaer_erlaubt_nein |
Prüft, dass eine Nein-Antwort auf die Rückfrage nach einer temporären Datei die Aktion 'temporaer_erlaubt' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_layer_unsichtbar_ja |
Prüft, dass eine Ja-Antwort bei unsichtbarem Layer den Layer sichtbar schaltet und die Entscheidung 'ok' liefert. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_layer_unsichtbar_nein |
Prüft, dass eine Nein-Antwort bei unsichtbarem Layer die Aktion 'layer_unsichtbar' als abgelehnt bestehen lässt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_unbekannte_aktion |
Prüft, dass eine unbekannte Aktion eine Warnung auslöst und unverarbeitet als Fehlschlag zurückgegeben wird. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_overwrite |
Prüft, dass die Nutzerwahl 'überschreiben' bei bestehender Datei zur Aktion 'datei_existiert_ueberschreiben' führt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_append |
Prüft, dass die Nutzerwahl 'anhängen' bei bestehender Datei zur Aktion 'datei_existiert_anhaengen' führt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_cancel |
Prüft, dass die Nutzerwahl 'abbrechen' bei bestehender Datei zur Aktion 'datei_existiert_ueberspringen' führt. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_datei_existiert_in_non_qgis_mode_returns_input |
Prüft, dass außerhalb des QGIS-Modus bei bestehender Datei keine Rückfrage erfolgt, sondern die ursprüngliche Aktion unentschieden zurückgegeben wird. | grün | geprüft am 2026-09-17 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ergaenzen |
Prüft, dass die Nutzerwahl 'ergänzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ergaenzen' führt. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_abbrechen |
Prüft, dass die Nutzerwahl 'abbrechen' bei bestehendem Verfahrensgebiet ok=False mit Aktion 'verfahrensgebiet_abbrechen' liefert. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_entfernen |
Prüft, dass die Nutzerwahl 'entfernen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_entfernen' führt. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ersetzen |
Prüft, dass die Nutzerwahl 'ersetzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ersetzen' führt. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_reicht_meldung_und_kontext_durch |
Prüft, dass der Dialog die Meldung des Aufrufers zeigt und die Entscheidung den Kontext (bestehender Layer) weiterträgt. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ohne_meldung_zeigt_standardtext |
Prüft, dass der Dialog ohne Meldung des Aufrufers einen Standardtext mit der Frage nach dem weiteren Vorgehen zeigt. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_in_non_qgis_mode_returns_input |
Prüft, dass außerhalb des QGIS-Modus bei bestehendem Verfahrensgebiet keine Rückfrage erfolgt. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_report_error_kritische_aktion_ruft_error_auf |
Prüft, dass eine kritische Aktion (z. B. 'netzwerkfehler') über error() gemeldet wird, nicht über warning(). | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_report_error_warn_aktion_ruft_warning_auf |
Prüft, dass eine Warn-Aktion (z. B. 'datei_nicht_gefunden') über warning() gemeldet wird, nicht über error(). | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_report_error_unbekannte_aktion_faellt_auf_warning_zurueck |
Prüft, dass eine nicht eingestufte Aktion als Fallback über warning() gemeldet wird. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_frage_ja_nein_im_qgis_modus_fragt_nutzer |
Prüft, dass frage_ja_nein im QGIS-Modus den Nutzer fragt und dessen Antwort liefert. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_frage_ja_nein_ausserhalb_qgis_liefert_default_ohne_rueckfrage |
Prüft, dass frage_ja_nein außerhalb des QGIS-Modus den Default-Wert liefert, ohne den Nutzer zu fragen. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_frage_text_im_qgis_modus_fragt_nutzer |
Prüft, dass frage_text im QGIS-Modus den Nutzer fragt und Text plus OK-Status liefert. | grün | geprüft am 2026-09-29 |
TestPruefmanager.test_frage_text_ausserhalb_qgis_liefert_default_ohne_rueckfrage |
Prüft, dass frage_text außerhalb des QGIS-Modus den Standardtext mit OK=True liefert, ohne den Nutzer zu fragen. | grün | geprüft am 2026-09-29 |
Plugin_SN_Basis/tests/test_qgiscore_wrapper_helpers.py
Worum es in der Datei geht: Tests für sn_basis/functions/qgiscore_wrapper.py::polygon_zu_linie/layer_exists_in_gpkg/create_buffer_layer (Issue #65/#67).
Testgruppen:
PolygonZuLinieTests(9 Testfälle): — (Docstring fehlt)LayerExistsInGpkgTests(4 Testfälle): — (Docstring fehlt)CreateBufferLayerTests(4 Testfälle): Deckt nur die Wächter ab: die eigentliche Pufferbildung importiertqgis.core.QgsFeature
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
PolygonZuLinieTests.test_none_liefert_none |
Prüft, dass polygon_zu_linie für None-Eingabe None liefert. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_leere_geometrie_liefert_none |
Prüft, dass eine leere Geometrie None liefert. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_stufe1_nutzt_boundary_wenn_vorhanden |
Prüft, dass eine Geometrie mit boundary() (QGIS 3.x-Pfad) deren Ergebnis direkt liefert. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_stufe2_extrahiert_ringe_bei_einfachem_polygon |
Prüft, dass ohne boundary() die Ringe eines einfachen Polygons manuell extrahiert werden. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_stufe2_extrahiert_alle_ringe_bei_multipolygon |
Prüft, dass bei einem MultiPolygon die Ringe aller Teilpolygone extrahiert werden. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_stufe1_leerer_umring_faellt_auf_stufe2_zurueck |
Prüft, dass ein leeres Ergebnis von boundary() auf die manuelle Ringextraktion zurückfällt. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_stufe1_fehler_faellt_auf_stufe2_zurueck |
Prüft, dass ein Fehler in boundary() auf die manuelle Ringextraktion zurückfällt. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_stufe3_fallback_wenn_keine_ringe_extrahierbar |
Prüft, dass bei fehlgeschlagener Ringextraktion auf convertToType(1, True) zurückgefallen wird. | grün | geprüft am 2026-10-26 |
PolygonZuLinieTests.test_alle_stufen_scheitern_liefert_none |
Prüft, dass polygon_zu_linie None liefert, wenn Ringextraktion und convertToType beide scheitern. | grün | geprüft am 2026-10-26 |
LayerExistsInGpkgTests.test_fehlende_datei_liefert_false |
Prüft, dass eine nicht vorhandene GPKG-Datei False liefert. | grün | geprüft am 2026-10-26 |
LayerExistsInGpkgTests.test_leerer_pfad_oder_layername_liefert_false |
Prüft, dass ein leerer Pfad oder Layername False liefert. | grün | geprüft am 2026-10-26 |
LayerExistsInGpkgTests.test_vorhandener_layer_liefert_true |
Prüft, dass ein in gpkg_contents eingetragener Layername als vorhanden erkannt wird. | grün | geprüft am 2026-10-26 |
LayerExistsInGpkgTests.test_fehlender_layer_liefert_false |
Prüft, dass ein nicht in gpkg_contents eingetragener Layername als nicht vorhanden gilt. | grün | geprüft am 2026-10-26 |
CreateBufferLayerTests.test_ohne_qgis_liefert_none |
Prüft, dass create_buffer_layer ohne verfügbares QGIS None liefert. | grün | geprüft am 2026-10-26 |
CreateBufferLayerTests.test_fehlender_source_layer_liefert_none |
Prüft, dass ein fehlender Quelllayer (None) None liefert, auch wenn QGIS verfügbar wäre. | grün | geprüft am 2026-10-26 |
CreateBufferLayerTests.test_source_layer_ohne_getfeatures_liefert_none |
Prüft, dass ein Quelllayer ohne getFeatures()-Methode None liefert. | grün | geprüft am 2026-10-26 |
CreateBufferLayerTests.test_source_layer_ohne_features_liefert_none |
Prüft, dass ein Quelllayer ohne Features None liefert, statt einen leeren Pufferlayer anzulegen. | grün | geprüft am 2026-10-26 |
Plugin_SN_Basis/tests/test_qgisui_wrapper_helpers.py
Worum es in der Datei geht: Tests für sn_basis/functions/qgisui_wrapper.py::add_layer_to_project/find_dock_widgets/add_menu/remove_menu (Issue #65/#67).
Testgruppen:
AddLayerToProjectTests(4 Testfälle): — (Docstring fehlt)FindDockWidgetsTests(3 Testfälle): — (Docstring fehlt)AddRemoveMenuTests(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
AddLayerToProjectTests.test_none_layer_liefert_false |
Prüft, dass add_layer_to_project für einen fehlenden Layer (None) False liefert. | grün | geprüft am 2026-10-26 |
AddLayerToProjectTests.test_mock_modus_liefert_true_ohne_projektzugriff |
Prüft, dass im Mock-Modus (ohne QGIS) ein gültiger Layer True liefert, ohne das Projekt anzufassen. | grün | geprüft am 2026-10-26 |
AddLayerToProjectTests.test_mit_qgis_fuegt_layer_dem_projekt_hinzu |
Prüft, dass bei verfügbarem QGIS der Layer über QgsProject.instance().addMapLayer hinzugefügt wird. | grün | geprüft am 2026-10-26 |
AddLayerToProjectTests.test_mit_qgis_fehler_liefert_false |
Prüft, dass ein Fehler beim Hinzufügen zum Projekt abgefangen wird und False liefert. | grün | geprüft am 2026-10-26 |
FindDockWidgetsTests.test_ohne_main_window_liefert_leere_liste |
Prüft, dass find_dock_widgets ohne verfügbares Hauptfenster eine leere Liste liefert. | grün | geprüft am 2026-10-26 |
FindDockWidgetsTests.test_liefert_dock_widgets_des_main_window |
Prüft, dass find_dock_widgets im Hauptfenster nach QDockWidget sucht und die Treffer durchreicht. | grün | geprüft am 2026-10-26 |
FindDockWidgetsTests.test_fehler_beim_suchen_liefert_leere_liste |
Prüft, dass ein Fehler beim Suchen der Dock-Widgets abgefangen wird und eine leere Liste liefert. | grün | geprüft am 2026-10-26 |
AddRemoveMenuTests.test_add_menu_ohne_main_window_tut_nichts |
Prüft, dass add_menu ohne Hauptfenster keine Ausnahme wirft. | grün | geprüft am 2026-10-26 |
AddRemoveMenuTests.test_add_menu_mit_echtem_qt_menu_fuegt_es_der_menubar_hinzu |
Prüft, dass ein echtes Qt-Menü (mit menuAction) der Menüleiste hinzugefügt wird. | grün | geprüft am 2026-10-26 |
AddRemoveMenuTests.test_add_menu_ohne_menuaction_wird_ignoriert |
Prüft, dass ein Objekt ohne menuAction nicht an die Menüleiste übergeben wird. | grün | geprüft am 2026-10-26 |
AddRemoveMenuTests.test_remove_menu_entfernt_ueber_menuaction |
Prüft, dass remove_menu das Menü über dessen menuAction() aus der Menüleiste entfernt. | grün | geprüft am 2026-10-26 |
AddRemoveMenuTests.test_remove_menu_ohne_menuaction_wird_ignoriert |
Prüft, dass remove_menu ein Objekt ohne menuAction nicht aus der Menüleiste zu entfernen versucht. | grün | geprüft am 2026-10-26 |
AddRemoveMenuTests.test_remove_menu_ohne_main_window_tut_nichts |
Prüft, dass remove_menu ohne Hauptfenster keine Ausnahme wirft. | grün | geprüft am 2026-10-26 |
Plugin_SN_Basis/tests/test_settings_logic.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestSettingsLogic(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestSettingsLogic.test_load |
Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest. | grün | geprüft am 2026-09-17 |
TestSettingsLogic.test_save |
Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert. | grün | geprüft am 2026-09-17 |
TestSettingsLogic.test_load_handles_partial_values_with_empty_fallback |
Prüft, dass load() für jede Variable den (auch leeren) Wert von get_variable() unverändert übernimmt, selbst wenn nicht alle Variablen im Mock konfiguriert sind. | grün | geprüft am 2026-09-17 |
TestSettingsLogic.test_save_empty_string_value_is_persisted |
Prüft, dass save() einen leeren String als gültigen Wert speichert, statt ihn wie einen fehlenden Key zu behandeln. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_settings_tab.py
Worum es in der Datei geht: Tests für sn_basis/ui/tabs/settings_tab.py::save_data/load_data/_build_input (Issue #65/#67).
Testgruppen:
SaveDataTests(3 Testfälle): — (Docstring fehlt)LoadDataTests(4 Testfälle): — (Docstring fehlt)BuildInputTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
SaveDataTests.test_sammelt_text_und_combobox_werte_inklusive_landkreiskennzahl |
Prüft, dass save_data Text- und Dropdown-Werte sammelt und die Landkreiskennzahl separat ergänzt. | grün | geprüft am 2026-10-26 |
SaveDataTests.test_platzhalter_speichert_leere_kennzahl_statt_none |
Prüft, dass bei ausgewähltem Platzhalter Landkreisname und Kennzahl als leerer Text gespeichert werden. | grün | geprüft am 2026-10-26 |
SaveDataTests.test_ohne_landkreis_dropdown_wird_keine_kennzahl_ergaenzt |
Prüft, dass ohne Landkreis-Dropdown im Formular keine 'landkreis_kennzahl' ergänzt wird. | grün | geprüft am 2026-10-26 |
LoadDataTests.test_befuellt_textfelder_aus_gespeicherten_daten |
Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt. | grün | geprüft am 2026-10-26 |
LoadDataTests.test_ohne_gespeicherten_wert_bleibt_textfeld_leer |
Prüft, dass load_data ohne gespeicherten Wert das Textfeld auf einen leeren Text setzt. | grün | geprüft am 2026-10-26 |
LoadDataTests.test_waehlt_combobox_eintrag_bei_bekanntem_namen |
Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt. | grün | geprüft am 2026-10-26 |
LoadDataTests.test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag |
Prüft, dass load_data bei einem nicht mehr vorhandenen Landkreisnamen auf den leeren Platzhalter zurückfällt. | grün | geprüft am 2026-10-26 |
BuildInputTests.test_landkreis_feld_liefert_combobox_mit_allen_landkreisen |
Prüft, dass _build_input für das Landkreis-Feld eine ComboBox mit Platzhalter und allen Landkreisen liefert. | grün | geprüft am 2026-10-26 |
BuildInputTests.test_anderes_feld_liefert_lineedit |
Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert. | grün | geprüft am 2026-10-26 |
Plugin_SN_Basis/tests/test_stilpruefer.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestStilpruefer(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestStilpruefer.test_keine_datei_angegeben |
Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional). | grün | geprüft am 2026-09-17 |
TestStilpruefer.test_datei_existiert_mit_qml |
Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird. | grün | geprüft am 2026-09-17 |
TestStilpruefer.test_datei_existiert_falsche_endung |
Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird. | grün | geprüft am 2026-09-17 |
TestStilpruefer.test_datei_existiert_nicht |
Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
Plugin_SN_Basis/tests/test_sys_wrapper.py
Worum es in der Datei geht: Unit-Tests für sn_basis.functions.sys_wrapper.get_plugin_root().
Testgruppen:
TestGetPluginRoot(1 Testfälle): — (Docstring fehlt)JoinPathTests(1 Testfälle): — (Docstring fehlt)FileExistsTests(4 Testfälle): — (Docstring fehlt)EnsureDirTests(2 Testfälle): — (Docstring fehlt)GetattrSafeTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestGetPluginRoot.test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung |
Prüft, dass get_plugin_root() bei einem über eine Verzeichnisverknüpfung (wie von link_qgis_profile.py angelegt) erreichten Modul den verlinkten Pfad liefert, statt zum echten Zielverzeichnis aufzulösen (Verfahrensgebiet #50). | grün | geprüft am 2026-09-17 |
JoinPathTests.test_verbindet_mehrere_pfadbestandteile |
Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt. | grün | geprüft am 2026-10-26 |
FileExistsTests.test_vorhandene_datei_liefert_true |
Prüft, dass file_exists für eine vorhandene Datei True liefert. | grün | geprüft am 2026-10-26 |
FileExistsTests.test_fehlende_datei_liefert_false |
Prüft, dass file_exists für eine nicht vorhandene Datei False liefert. | grün | geprüft am 2026-10-26 |
FileExistsTests.test_ungueltiger_pfad_liefert_false_statt_ausnahme |
Prüft, dass file_exists für einen ungültigen Pfad (Nullzeichen) False liefert, statt eine Ausnahme zu werfen. | grün | geprüft am 2026-10-26 |
FileExistsTests.test_verzeichnis_gilt_derzeit_als_vorhandene_datei |
Prüft, dass file_exists derzeit auch für ein Verzeichnis True liefert (Ist-Zustand, nicht bestätigt gewünscht). | grün | geprüft am 2026-10-26 |
EnsureDirTests.test_legt_fehlendes_verzeichnis_inklusive_eltern_an |
Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt. | grün | geprüft am 2026-10-26 |
EnsureDirTests.test_vorhandenes_verzeichnis_wirft_keinen_fehler |
Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft und den Pfad liefert. | grün | geprüft am 2026-10-26 |
GetattrSafeTests.test_liefert_vorhandenes_attribut |
Prüft, dass getattr_safe ein vorhandenes Attribut liefert. | grün | geprüft am 2026-10-26 |
GetattrSafeTests.test_liefert_default_bei_fehlendem_attribut |
Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert. | grün | geprüft am 2026-10-26 |
GetattrSafeTests.test_liefert_default_wenn_attributzugriff_andere_ausnahme_wirft |
Prüft, dass getattr_safe auch bei einer anderen Ausnahme als AttributeError den Default-Wert liefert. | grün | geprüft am 2026-10-26 |
Plugin_SN_Basis/tests/test_text_wrapper.py
Worum es in der Datei geht: Unit-Tests für sn_basis.functions.text_wrapper.
Testgruppen:
TestSanitizeBezeichner(7 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestSanitizeBezeichner.test_umlaute_bleiben_erhalten |
Prüft, dass alle Umlaute (klein und groß) und ß nicht durch den Ersatz entfernt werden. | grün | geprüft am 2026-10-26 |
TestSanitizeBezeichner.test_bindestrich_bleibt_erhalten |
Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42). | grün | geprüft am 2026-10-26 |
TestSanitizeBezeichner.test_unterstrich_bleibt_erhalten |
Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt. | grün | geprüft am 2026-10-26 |
TestSanitizeBezeichner.test_leerzeichen_wird_durch_ersatz_zusammengefasst |
Prüft, dass eine Folge unzulässiger Zeichen (hier zwei Leerzeichen) zu genau einem Ersatzzeichen zusammengefasst wird. | grün | geprüft am 2026-10-26 |
TestSanitizeBezeichner.test_fuehrender_und_folgender_ersatz_wird_entfernt |
Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird. | grün | geprüft am 2026-10-26 |
TestSanitizeBezeichner.test_eigenes_ersatzzeichen_wird_verwendet |
Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird. | grün | geprüft am 2026-10-26 |
TestSanitizeBezeichner.test_nur_unzulaessige_zeichen_ergibt_leeren_string |
Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird. | grün | geprüft am 2026-10-26 |
Plugin_SN_Basis/tests/test_variable_wrapper.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestVariableWrapper(7 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVariableWrapper.test_set_variable_project_noop_write_is_skipped |
Prüft, dass set_variable() im Projekt-Scope nicht schreibt, wenn der neue Wert dem bestehenden entspricht. | grün | geprüft am 2026-10-26 |
TestVariableWrapper.test_set_variable_project_changed_value_is_written |
Prüft, dass set_variable() im Projekt-Scope bei geändertem Wert mit dem Präfix 'sn_' geschrieben wird. | grün | geprüft am 2026-10-26 |
TestVariableWrapper.test_set_variable_global_writes_prefixed_name |
Prüft, dass set_variable() im globalen Scope den Variablennamen mit 'sn_' vorangestellt schreibt. | grün | geprüft am 2026-10-26 |
TestVariableWrapper.test_get_variable_global_returns_empty_string_fallback |
Prüft, dass get_variable() im globalen Scope für eine nicht gesetzte Variable einen leeren String statt None liefert. | grün | geprüft am 2026-10-26 |
TestVariableWrapper.test_get_variable_project_liest_praefixierten_namen |
Prüft, dass get_variable() im Projekt-Scope den Namen mit 'sn_' aus dem Scope des aktuellen Projekts liest. | grün | geprüft am 2026-10-26 |
TestVariableWrapper.test_get_variable_invalid_scope_raises |
Prüft, dass get_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. | grün | geprüft am 2026-10-26 |
TestVariableWrapper.test_set_variable_invalid_scope_raises |
Prüft, dass set_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. | grün | geprüft am 2026-10-26 |
Plugin_SN_Basis/tests/test_verfahrensgebiet_manager.py
Worum es in der Datei geht: Tests für sn_basis/functions/verfahrensgebiet_manager.py (zentrale Layer-Verfolgung, Issue #65).
Testgruppen:
TestVerfahrensgebietManager(5 Testfälle): — (Docstring fehlt)OnHandlerTests(6 Testfälle): — (Docstring fehlt)ListenerSetupTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_value |
Prüft, dass get_verfahrensgebiet_layer_id() die in der Projektvariable gespeicherte Layer-ID liefert. | grün | geprüft am 2026-10-26 |
TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_none_for_empty_value |
Prüft, dass get_verfahrensgebiet_layer_id() bei leerer Projektvariable None statt eines leeren Strings liefert. | grün | geprüft am 2026-10-26 |
TestVerfahrensgebietManager.test_set_verfahrensgebiet_layer_id_writes_project_variable |
Prüft, dass set_verfahrensgebiet_layer_id() die Layer-ID als Projektvariable 'verfahrensgebiet_layer' speichert. | grün | geprüft am 2026-10-26 |
TestVerfahrensgebietManager.test_update_without_layer_does_not_write_when_already_empty |
Prüft, dass ohne gefundenen Verfahrensgebiet-Layer keine Schreibaktion erfolgt, wenn die Variable bereits leer ist. | grün | geprüft am 2026-10-26 |
TestVerfahrensgebietManager.test_update_with_layer_writes_variable |
Prüft, dass ein gefundener Verfahrensgebiet-Layer seine ID als Projektvariable speichert. | grün | geprüft am 2026-10-26 |
OnHandlerTests.test_on_project_changed_ohne_layer_setzt_variable_leer |
Prüft, dass _on_project_changed die Variable leert, wenn kein Verfahrensgebiet-Layer existiert. | grün | geprüft am 2026-10-26 |
OnHandlerTests.test_on_project_changed_mit_layer_setzt_variable |
Prüft, dass _on_project_changed die Layer-ID eines gefundenen Verfahrensgebiet-Layers übernimmt. | grün | geprüft am 2026-10-26 |
OnHandlerTests.test_on_layers_added_findet_neuen_layer |
Prüft, dass _on_layers_added projektweit nach einem Layer namens „Verfahrensgebiet" sucht und die Variable aktualisiert. | grün | geprüft am 2026-10-26 |
OnHandlerTests.test_on_layers_added_setzt_manuelle_auswahl_derzeit_zurueck |
Prüft, dass _on_layers_added derzeit eine manuelle Auswahl eines anders benannten Layers auf leer zurücksetzt (Ist-Zustand, nicht bestätigt gewünscht). | grün | geprüft am 2026-10-26 |
OnHandlerTests.test_on_layer_removed_bei_aktuellem_layer_sucht_neu |
Prüft, dass das Entfernen des aktuell aktiven Verfahrensgebiet-Layers eine Neusuche auslöst. | grün | geprüft am 2026-10-26 |
OnHandlerTests.test_on_layer_removed_bei_anderem_layer_aendert_nichts |
Prüft, dass das Entfernen eines anderen Layers keine Neusuche auslöst. | grün | geprüft am 2026-10-26 |
ListenerSetupTests.test_setup_ohne_qgis_tut_nichts |
Prüft, dass setup_verfahrensgebiet_listener ohne QGIS keine Signale registriert. | grün | geprüft am 2026-10-26 |
ListenerSetupTests.test_setup_verbindet_signale_und_ist_idempotent |
Prüft, dass setup_verfahrensgebiet_listener alle fünf Projektsignale verbindet und ein zweiter Aufruf nichts doppelt registriert. | grün | geprüft am 2026-10-26 |
ListenerSetupTests.test_teardown_trennt_alle_signale_und_ist_idempotent |
Prüft, dass teardown_verfahrensgebiet_listener alle fünf Signale trennt und mehrfacher Aufruf nicht fehlschlägt. | grün | geprüft am 2026-10-26 |
Paket sn_verfahrensgebiet
Fachplugin, Ordner Plugin_SN_Verfahrensgebiet – 18 Testdateien mit 289 Testfällen (247 grün, 34 rot, 8 übersprungen).
Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.beteiligung_pruefung.
Testgruppen:
TestBaueFlurstueckCsv(12 Testfälle): — (Docstring fehlt)TestBaueFlurstueckCsvListe(1 Testfälle): — (Docstring fehlt)TestHoleVerfahrensgebietLayer(3 Testfälle): — (Docstring fehlt)TestFordereManuellesLadenAn(2 Testfälle): try2/try3 laden nicht mehr automatisch, sondern fordern den Nutzer auf,TestTry3Bootstrap(1 Testfälle): — (Docstring fehlt)TestBeteiligungPruefenDispatch(2 Testfälle): Dispatch-Logik in beteiligung_pruefen(): try1 unverändert, try2/try3TestLadeBeteiligungCsv(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullen |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichen |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichen |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_ungueltiges_format_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_leerer_wert_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_a |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_b |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_z |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuellt |
— (Docstring fehlt) | grün | nie geprüft |
TestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahl |
— (Docstring fehlt) | grün | nie geprüft |
TestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestHoleVerfahrensgebietLayer.test_kein_layer_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichen |
— (Docstring fehlt) | grün | nie geprüft |
TestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummer |
— (Docstring fehlt) | grün | nie geprüft |
TestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_an |
— (Docstring fehlt) | grün | nie geprüft |
TestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_an |
— (Docstring fehlt) | grün | nie geprüft |
TestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_an |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehler |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_leere_datei_wirft_fehler |
— (Docstring fehlt) | grün | nie geprüft |
TestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_dockwidget.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestDockWidget(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestDockWidget.test_init_tabs_with_services_injects_available_services |
— (Docstring fehlt) | grün | nie geprüft |
TestDockWidget.test_init_tabs_with_services_reports_errors |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_anzeige.py
Worum es in der Datei geht: Tests für das Anzeigefenster des Eigentümer-Datenabgleichs (#56).
Testgruppen:
TestAnzeigetext(6 Testfälle): — (Docstring fehlt)TestFensterOeffnen(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestAnzeigetext.test_name_anschrift_email |
Prüft, dass die Anzeige Name mit Anrede und Titel, die mehrzeilige Anschrift mit Ortsteil und die E-Mail zeigt. | grün | nie geprüft |
TestAnzeigetext.test_keine_internen_angaben |
Prüft, dass der Eigentümer weder Konten, Personen-IDs, Rechtsperson-Wert noch das Kennzeichen „verstorben“ sieht. | grün | nie geprüft |
TestAnzeigetext.test_fehlende_email_wird_genannt |
Prüft, dass eine fehlende E-Mail ausdrücklich als „keine angegeben“ erscheint. | grün | nie geprüft |
TestAnzeigetext.test_werte_werden_maskiert |
Prüft, dass Sonderzeichen aus den Daten maskiert werden und kein HTML einschleusen. | grün | nie geprüft |
TestAnzeigetext.test_mehrere_eintraege_getrennt |
Prüft, dass mehrere Einträge untereinander, durch eine Linie getrennt, erscheinen. | grün | nie geprüft |
TestAnzeigetext.test_leer_nur_platzhalter |
Prüft, dass die leere Anzeige nur den neutralen Platzhalter zeigt. | grün | nie geprüft |
TestFensterOeffnen.test_normales_fenster_in_standardgroesse |
Prüft, dass das Anzeigefenster ohne gemerkte Lage als normales Fenster mit Rahmen in Standardgröße öffnet, nie im Vollbild. | grün | nie geprüft |
TestFensterOeffnen.test_gemerkte_lage_wird_wiederhergestellt |
Prüft, dass eine gemerkte Größe und Lage der letzten Sitzung wiederhergestellt wird. | grün | nie geprüft |
TestFensterOeffnen.test_unbrauchbare_lage_ergibt_standardgroesse |
Prüft, dass eine nicht wiederherstellbare Lage auf die Standardgröße zurückfällt. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_korrektur.py
Worum es in der Datei geht: Tests für die Korrekturen beim Eigentümer-Datenabgleich (#56).
Testgruppen:
TestAenderungen(4 Testfälle): — (Docstring fehlt)TestKorrekturPfad(3 Testfälle): — (Docstring fehlt)TestSchreiben(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestAenderungen.test_feldwerte |
Prüft, dass alle korrigierbaren Felder vorbelegt werden, mehrere E-Mails durch Komma getrennt. | grün | nie geprüft |
TestAenderungen.test_nur_echte_aenderungen |
Prüft, dass nur geänderte Felder zählen und Leerraum am Rand oder doppelte Leerzeichen keine Änderung sind. | grün | nie geprüft |
TestAenderungen.test_feld_leeren_ist_aenderung |
Prüft, dass das Leeren eines Feldes als Änderung zählt. | grün | nie geprüft |
TestAenderungen.test_wende_an |
Prüft, dass die Änderungen im angezeigten Eintrag landen und E-Mails wieder getrennt werden; Konten bleiben. | grün | nie geprüft |
TestKorrekturPfad.test_textdatei_provider |
Prüft, dass aus der Quelle eines Textdatei-Layers (file-URI, Leerzeichen kodiert) der Pfad neben der CSV wird. | grün | nie geprüft |
TestKorrekturPfad.test_ogr_provider |
Prüft, dass auch eine OGR-Quelle mit Layernamen den Pfad neben der CSV ergibt. | grün | nie geprüft |
TestKorrekturPfad.test_keine_csv |
Prüft, dass für Quellen ohne CSV-Datei kein Pfad vorgeschlagen wird. | grün | nie geprüft |
TestSchreiben.test_neue_datei_mit_kopfzeile_und_bom |
Prüft, dass eine neue Korrektur-CSV mit BOM, Kopfzeile und je Änderung einer Zeile mit Exportspaltennamen entsteht. | grün | nie geprüft |
TestSchreiben.test_anhaengen_ohne_zweite_kopfzeile |
Prüft, dass weitere Korrekturen angehängt werden, ohne Kopfzeile oder BOM zu wiederholen. | grün | nie geprüft |
TestSchreiben.test_ohne_aenderung_keine_datei |
Prüft, dass ohne Änderung keine Datei angelegt wird. | grün | nie geprüft |
TestSchreiben.test_schreibfehler_wird_weitergereicht |
Prüft, dass ein nicht schreibbarer Pfad als OSError beim Aufrufer ankommt. | grün | nie geprüft |
TestSchreiben.test_schreibt_nichts_auf_die_konsole |
Prüft, dass das Festhalten von Korrekturen keine Personendaten auf die Konsole schreibt (Datenschutz). | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_suche.py
Worum es in der Datei geht: Tests für die Eigentümersuche im Serienbriefexport (#56).
Testgruppen:
TestLayererkennung(2 Testfälle): — (Docstring fehlt)TestSuche(10 Testfälle): — (Docstring fehlt)TestAnzeigeformen(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestLayererkennung.test_layer_mit_name_und_vorname_ist_eigentuemerlayer |
Prüft, dass ein Layer mit den Spalten Nachname und Vorname als Eigentümerdatei erkannt wird, auch mit BOM und anderer Schreibweise. | grün | nie geprüft |
TestLayererkennung.test_eigentuemerlayer_im_projekt |
Prüft, dass aus dem Projekt nur passende Layer kommen, nach Namen sortiert. | grün | nie geprüft |
TestSuche.test_ohne_eingabe_fehler |
Prüft, dass ohne Name und Vorname nicht die ganze Datei gelistet, sondern um eine Eingabe gebeten wird. | grün | nie geprüft |
TestSuche.test_layer_ohne_pflichtspalten |
Prüft, dass ein Layer ohne Nachname/Vorname mit Hinweis auf den Serienbriefexport abgelehnt wird. | grün | nie geprüft |
TestSuche.test_teilstring_ohne_gross_kleinschreibung |
Prüft, dass Name und Vorname als Teilstring ohne Rücksicht auf Groß-/Kleinschreibung gesucht werden. | grün | nie geprüft |
TestSuche.test_umlaute_und_eszett |
Prüft, dass „Müller“ auch „Mueller“ findet und „Strauss“ auch „Strauß“. | grün | nie geprüft |
TestSuche.test_gleiche_person_gleiche_anschrift_zusammengefasst |
Prüft, dass Zeilen mit gleichem Namen und gleicher Anschrift ein Treffer werden und Konten, Personen-IDs und E-Mails gesammelt werden. | grün | nie geprüft |
TestSuche.test_andere_anschrift_eigener_treffer |
Prüft, dass dieselbe Person mit anderer Anschrift ein eigener Treffer bleibt, sortiert nach Wohnort. | grün | nie geprüft |
TestSuche.test_kennzeichen_verstorben |
Prüft, dass „verstorben“ beim Exportwert 1 (auch als Zahl gelesen) gesetzt ist und bei 0, Leerem und NULL nicht. | grün | nie geprüft |
TestSuche.test_rechtsperson_als_rohwert |
Prüft, dass PER_RECHTSPERSON unverändert angezeigt wird (0, 1, 5, 9; noch nicht entschlüsselt) und abweichende Werte einer Person gesammelt werden. | grün | nie geprüft |
TestSuche.test_plz_mit_fuehrender_null |
Prüft, dass eine von QGIS als Zahl gelesene PLZ wieder fünfstellig mit führender Null erscheint und Zeilen dadurch zusammenfinden. | grün | nie geprüft |
TestSuche.test_suche_gibt_nichts_aus |
Prüft, dass die Suche keine Personendaten auf die Konsole schreibt (Datenschutz). | grün | nie geprüft |
TestAnzeigeformen.test_name_und_anschrift |
Prüft, dass Name mit Titel und einzeilige Anschrift mit Ortsteil lesbar zusammengesetzt werden. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_tab.py
Worum es in der Datei geht: Tests für den Tab „Eigentümer“ – Flurstückssuche, Eigentümersuche, Anzeige und Korrektur (#56).
Testgruppen:
TestFlurstueckSuchen(5 Testfälle): — (Docstring fehlt)TestEigentuemerSuchen(4 Testfälle): — (Docstring fehlt)TestTrefferliste(3 Testfälle): — (Docstring fehlt)TestSitzung(7 Testfälle): — (Docstring fehlt)TestKorrekturLabel(4 Testfälle): — (Docstring fehlt)TestKorrektur(5 Testfälle): — (Docstring fehlt)TestKorrekturDatei(2 Testfälle): — (Docstring fehlt)TestDockWidgetTabs(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestFlurstueckSuchen.test_ohne_flurstueckslayer_erscheint_hinweisdialog |
Prüft, dass ohne Layer „Flurstücke“ ein Dialog zum Laden von Verfahrensgebiet und Flurstücken erscheint. | grün | nie geprüft |
TestFlurstueckSuchen.test_eingabefehler_als_warnung |
Prüft, dass eine ungültige Eingabe als Warnung in der Meldungsleiste erscheint, nicht als Dialog. | grün | nie geprüft |
TestFlurstueckSuchen.test_kein_treffer |
Prüft, dass ohne Treffer ein Hinweis erscheint und keine Auswahl gesetzt wird. | grün | nie geprüft |
TestFlurstueckSuchen.test_treffer_werden_ausgewaehlt_und_angezoomt |
Prüft, dass Treffer im Flurstückslayer ausgewählt, angezoomt und gemeldet werden. | grün | nie geprüft |
TestFlurstueckSuchen.test_ohne_kartenansicht_bleibt_auswahl |
Prüft, dass die Auswahl auch ohne Kartenansicht gesetzt und gemeldet wird. | grün | nie geprüft |
TestEigentuemerSuchen.test_ohne_eigentuemerdatei_warnung |
Prüft, dass ohne gewählte Eigentümerdatei die Liste aufgefrischt und dann auf das Laden der CSV hingewiesen wird. | grün | nie geprüft |
TestEigentuemerSuchen.test_suchfehler_als_warnung |
Prüft, dass ein Fehler der Suche (z. B. leere Eingabe) als Warnung erscheint. | grün | nie geprüft |
TestEigentuemerSuchen.test_kein_treffer_ohne_namen_in_meldung |
Prüft, dass ohne Treffer ein Hinweis erscheint, der den gesuchten Namen nicht wiederholt (Datenschutz). | grün | nie geprüft |
TestEigentuemerSuchen.test_treffer_oeffnen_trefferliste_und_ersetzen_die_alte |
Prüft, dass Treffer in einer neuen Trefferliste mit Anzeige-Rückruf erscheinen, eine offene alte Liste geschlossen wird und die Eingaben an die Suche gehen. | grün | nie geprüft |
TestTrefferliste.test_trefferzeile_mit_hinweis |
Prüft, dass die Trefferliste Name, Anschrift, E-Mail, den Rohwert von PER_RECHTSPERSON und das Kennzeichen „verstorben“ zeigt. | grün | nie geprüft |
TestTrefferliste.test_ausgewaehlte_eigentuemer |
Prüft, dass das Trefferfenster die in der Tabelle gewählten Einträge zurückgibt. | grün | nie geprüft |
TestTrefferliste.test_daten_anzeigen_gibt_auswahl_weiter |
Prüft, dass „Daten anzeigen“ die Auswahl der Trefferliste an den Tab übergibt. | grün | nie geprüft |
TestSitzung.test_sitzung_beginnen_oeffnet_leeres_fenster_mit_rahmen |
Prüft, dass „Sitzung beginnen“ ein leeres Anzeigefenster als normales Fenster öffnet (ohne gemerkte Lage beim ersten Mal). | grün | nie geprüft |
TestSitzung.test_lage_gilt_fuer_naechste_sitzung |
Prüft, dass Größe und Lage des Fensters beim Beenden gemerkt und in der nächsten Sitzung wiederverwendet werden. | grün | nie geprüft |
TestSitzung.test_daten_anzeigen_beginnt_sitzung_bei_bedarf |
Prüft, dass „Daten anzeigen“ ohne laufende Sitzung diese beginnt und die Einträge zeigt; die Statuszeile nennt nur die Anzahl. | grün | nie geprüft |
TestSitzung.test_daten_anzeigen_ohne_auswahl |
Prüft, dass „Daten anzeigen“ ohne Auswahl nur einen Hinweis gibt und keine Sitzung beginnt. | grün | nie geprüft |
TestSitzung.test_anzeige_leeren_laesst_fenster_offen |
Prüft, dass „Anzeige leeren“ die Daten entfernt, das Fenster aber nicht schließt. | grün | nie geprüft |
TestSitzung.test_sitzung_beenden_schliesst_fenster |
Prüft, dass „Sitzung beenden“ das Anzeigefenster schließt und die angezeigten Daten vergisst. | grün | nie geprüft |
TestSitzung.test_von_aussen_geschlossen_beendet_sitzung |
Prüft, dass ein über den Fensterrahmen geschlossenes Anzeigefenster die Sitzung beendet und seine Lage gemerkt wird. | grün | nie geprüft |
TestKorrekturLabel.test_ohne_eigentuemerdatei |
Prüft, dass ohne Eigentümerdatei unter den Knöpfen steht, dass keine gewählt ist. | grün | nie geprüft |
TestKorrekturLabel.test_pfad_neben_der_eigentuemerdatei |
Prüft, dass der Pfad der Korrektur-CSV angezeigt wird, mit Hinweis, solange sie noch nicht angelegt ist. | grün | nie geprüft |
TestKorrekturLabel.test_ohne_csv_quelle_wird_abgefragt |
Prüft, dass bei einer Quelle ohne CSV angekündigt wird, dass der Speicherort beim ersten Speichern abgefragt wird. | grün | nie geprüft |
TestKorrekturLabel.test_gewaehlter_pfad_wird_angezeigt |
Prüft, dass ein einmal gewählter Speicherort angezeigt wird. | grün | nie geprüft |
TestKorrektur.test_korrektur_wird_festgehalten_und_angezeigt |
Prüft, dass eine Korrektur in die Korrektur-CSV geschrieben, sofort angezeigt und ohne Namen gemeldet wird. | grün | nie geprüft |
TestKorrektur.test_ohne_aenderung_nichts_schreiben |
Prüft, dass ein unverändert gespeicherter Dialog nichts schreibt. | grün | nie geprüft |
TestKorrektur.test_abbruch_nichts_schreiben |
Prüft, dass ein abgebrochener Korrekturdialog nichts schreibt. | grün | nie geprüft |
TestKorrektur.test_schreibfehler_warnung_und_anzeige_unveraendert |
Prüft, dass bei einem Schreibfehler gewarnt, die Anzeige nicht geändert und der Pfad beim nächsten Mal neu bestimmt wird. | grün | nie geprüft |
TestKorrektur.test_ohne_anzeige_keine_korrektur |
Prüft, dass ohne angezeigte Daten kein Korrekturdialog erscheint. | grün | nie geprüft |
TestKorrekturDatei.test_vorschlag_neben_der_eigentuemerdatei |
Prüft, dass die Korrektur-CSV ohne Rückfrage neben der Eigentümerdatei liegt, wenn der Ordner beschreibbar ist, und gemerkt wird. | grün | nie geprüft |
TestKorrekturDatei.test_ohne_csv_quelle_wird_gefragt |
Prüft, dass ohne verwertbare CSV-Quelle nach dem Speicherort gefragt wird; Abbrechen liefert keinen Pfad. | grün | nie geprüft |
TestDockWidgetTabs.test_tab_ist_im_dockwidget_eingetragen |
Prüft, dass der Tab „Eigentümer“ im DockWidget direkt nach dem Bearbeitungs-Tab steht. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_flurstueck_alkis.py
Worum es in der Datei geht: Unit-Tests für das flurstueck_alkis-Modul.
Testgruppen:
TestFlurstueckAlkis(11 Testfälle): — (Docstring fehlt)TestFlurstueckAlkisAnhaengenDedup(3 Testfälle): Anhängen an einen bestehenden Flurstück-Layer (Issue #28).
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestFlurstueckAlkis.test_user_cancel_returns_none |
Prüft, dass ein Abbruch im Eingabedialog (ok=False) (None, LoadStatus.NONE) liefert. | grün | nie geprüft |
TestFlurstueckAlkis.test_empty_text_after_confirmation_returns_none |
Prüft, dass ein bestätigter, aber leerer Eingabetext ebenfalls (None, LoadStatus.NONE) liefert. | grün | nie geprüft |
TestFlurstueckAlkis.test_invalid_wfs_layer_returns_none |
Prüft, dass ein ungültiger WFS-Layer (None, LoadStatus.NONE) liefert. | grün | nie geprüft |
TestFlurstueckAlkis.test_success_returns_layer_and_first_status |
Prüft, dass ohne bestehenden Layer der von lade_flurstuecke_per_gemarkung gelieferte Layer mit LoadStatus.FIRST zurückgegeben wird. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_sql_filter_contains_all_schluessel |
Prüft, dass lade_flurstuecke_per_gemarkung für jeden Gemarkungsschlüssel eine eigene WFS-Anfrage mit dessen Schlüssel stellt. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_existing_layer_reload_yes |
Prüft, dass bei bestehendem Layer und Klick auf 'Überschreiben' der alte Layer entfernt und LoadStatus.RELOAD geliefert wird. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_existing_layer_abbrechen_returns_none |
Prüft, dass bei bestehendem Layer und Klick auf 'Abbrechen' nichts verändert wird und (None, LoadStatus.NONE) geliefert wird. | grün | nie geprüft |
TestFlurstueckAlkis.test_vorgabe_schluessel_prefills_default_text |
Prüft, dass vorgabe_schluessel als vorbelegter default_text im Eingabedialog erscheint. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_vorgabe_namen_appears_in_label |
Prüft, dass vorgabe_namen im Beschriftungstext des Eingabedialogs erscheint. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_backwards_compatible_no_new_params |
Prüft, dass flurstueck_alkis() ohne die neuen optionalen Parameter weiterhin fehlerfrei einen Layer mit LoadStatus.FIRST liefert. | rot (Baseline) | nie geprüft |
TestFlurstueckAlkis.test_ohne_schluessel_abfrage_ueberspringt_ask_text |
Prüft, dass ohne_schluessel_abfrage=True vorgabe_schluessel direkt verwendet und ask_text nicht aufgerufen wird. | grün | nie geprüft |
TestFlurstueckAlkisAnhaengenDedup.test_append_ueberspringt_bereits_vorhandene_flurstuecke |
Prüft, dass beim Anhängen bereits vorhandene flurstueckskennzeichen nicht erneut hinzugefügt werden. | grün | nie geprüft |
TestFlurstueckAlkisAnhaengenDedup.test_append_ohne_kennzeichen_feld_haengt_alles_an |
Prüft, dass ohne flurstueckskennzeichen-Feld weiterhin alle Features angehängt werden (Rückfallverhalten). | grün | nie geprüft |
TestFlurstueckAlkisAnhaengenDedup.test_ohne_schluessel_abfrage_append_dedup |
ohne_schluessel_abfrage=True: Anhängen dedupliziert trotzdem, ohne nach Schlüsseln zu fragen (#47). | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_flurstueck_suche.py
Worum es in der Datei geht: Tests für die Flurstückssuche im Layer „Flurstücke“ (#56).
Testgruppen:
TestEingabe(6 Testfälle): — (Docstring fehlt)TestSuche(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestEingabe.test_flurstuecksnummer_mit_und_ohne_nenner |
Prüft, dass Zähler und Nenner getrennt und führende Nullen entfernt werden. | grün | nie geprüft |
TestEingabe.test_ungueltige_flurstuecksnummer |
Prüft, dass leere oder unzulässige Flurstücksnummern abgelehnt werden. | grün | nie geprüft |
TestEingabe.test_kennzeichen_zerlegen |
Prüft, dass Gemarkung, Zähler und Nenner aus dem ALKIS-Kennzeichen gelesen werden. | grün | nie geprüft |
TestEingabe.test_gemarkungsnummer_aus_ziffern |
Prüft, dass Ziffern als Gemarkungsnummer gelten, auch ohne führende Nullen oder als langer Schlüssel. | grün | nie geprüft |
TestEingabe.test_gemarkungsname_ueber_gemarkungslayer |
Prüft, dass ein Gemarkungsname ohne Rücksicht auf Großschreibung in alle passenden Nummern übersetzt wird. | grün | nie geprüft |
TestEingabe.test_gemarkungsname_ohne_layer_oder_unbekannt |
Prüft, dass ein Name ohne Gemarkungslayer oder ohne Treffer eine verständliche Meldung ergibt. | grün | nie geprüft |
TestSuche.test_mit_nenner_genau_ein_treffer |
Prüft, dass mit Nenner nur das passende Flurstück der Gemarkung gefunden wird. | grün | nie geprüft |
TestSuche.test_ohne_nenner_alle_mit_diesem_zaehler |
Prüft, dass ohne Nenner alle Flurstücke mit dem Zähler gefunden werden, aber nur in der gesuchten Gemarkung. | grün | nie geprüft |
TestSuche.test_kein_treffer |
Prüft, dass ein nicht vorhandenes Flurstück eine leere Trefferliste ergibt. | grün | nie geprüft |
TestSuche.test_layer_ohne_kennzeichenfeld |
Prüft, dass ein Flurstückslayer ohne Feld „flurstueckskennzeichen“ gemeldet wird. | grün | nie geprüft |
TestSuche.test_fehlender_flurstueckslayer_bricht_ab |
Prüft, dass die Suche ohne Layer „Flurstücke“ mit dem Hinweis abbricht, zuerst Verfahrensgebiet und Flurstücke zu laden. | grün | nie geprüft |
TestSuche.test_suche_im_projekt_mit_gemarkungsname |
Prüft, dass die Suche im Projekt den Gemarkungsnamen auflöst und Layer samt Treffern liefert. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_gemarkung_alkis.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.gemarkung_alkis.
Testgruppen:
TestExtractSchluesselUndName(4 Testfälle): — (Docstring fehlt)TestGemarkungSchluesselbbox(6 Testfälle): — (Docstring fehlt)TestGemarkungSchluesselnurNummern(2 Testfälle): — (Docstring fehlt)TestLadeGemarkungenlayer(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestExtractSchluesselUndName.test_standard_attribute |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestExtractSchluesselUndName.test_fallback_attribute |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestExtractSchluesselUndName.test_missing_attribute_returns_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestExtractSchluesselUndName.test_none_value_returns_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestGemarkungSchluesselbbox.test_success_bbox_filter |
WFS-BBox-Filter liefert Features → korrekte Tupel-Liste. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_fallback_when_bbox_fails |
BBox-Filter schlägt fehl → Fallback auf Volllade + client-seitige Filterung. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_both_layers_fail_returns_empty |
Beide Lade-Strategien scheitern → leere Liste. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_deduplication_and_sorting |
Doppelte Schlüssel werden dedupliziert, Ergebnis ist sortiert. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_feature_without_schluessel_skipped |
Feature ohne Schlüssel-Attribut wird übersprungen. | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselbbox.test_exception_returns_empty |
Exception im Ladevorgang → leere Liste (kein Crash). | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselnurNummern.test_returns_only_nummern |
— (Docstring fehlt) | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestGemarkungSchluesselnurNummern.test_empty_input_returns_empty |
— (Docstring fehlt) | übersprungen – Legacy API (by_bbox) not available in current module | nie geprüft |
TestLadeGemarkungenlayer.test_returns_layer_when_service_reachable |
Dienst erreichbar (isValid=True) → Layer-Objekt zurückgegeben. | grün | nie geprüft |
TestLadeGemarkungenlayer.test_returns_none_when_service_unreachable |
Dienst nicht erreichbar (isValid=False) → None zurückgegeben. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_grenzpunkt_alkis.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.grenzpunkt_alkis.
Testgruppen:
TestExtrahiereGmlIds(5 Testfälle): — (Docstring fehlt)TestGrenzpunktAlkis(7 Testfälle): — (Docstring fehlt)TestGrenzpunkteGemarkungsweiseStil(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestExtrahiereGmlIds.test_xlink_href_format |
URN-Format 'urn:adv:oid:DEABC123' → nur 'DEABC123' extrahiert. | grün | nie geprüft |
TestExtrahiereGmlIds.test_plain_gml_id |
Plain-GML-ID ohne Doppelpunkt → direkt übernommen. | grün | nie geprüft |
TestExtrahiereGmlIds.test_empty_value_skipped |
Leerer gehoertZu-Wert wird übersprungen. | grün | nie geprüft |
TestExtrahiereGmlIds.test_deduplication |
Doppelte Referenzen werden dedupliziert. | grün | nie geprüft |
TestExtrahiereGmlIds.test_sorted_output |
Rückgabe ist aufsteigend sortiert. | grün | nie geprüft |
TestGrenzpunktAlkis.test_no_vg_layer_returns_none |
— (Docstring fehlt) | grün | nie geprüft |
TestGrenzpunktAlkis.test_invalid_punktort_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestGrenzpunktAlkis.test_empty_punktort_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestGrenzpunktAlkis.test_no_gml_ids_returns_pta_only |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestGrenzpunktAlkis.test_grenzpunkt_batch_empty |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestGrenzpunktAlkis.test_success_returns_both_layers |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestGrenzpunktAlkis.test_extent_derived_from_vg_layer |
Wenn kein extent übergeben → Extent aus VG-Layer holen. | rot (Baseline) | nie geprüft |
TestGrenzpunkteGemarkungsweiseStil.test_stil_wird_nach_dem_laden_auf_den_ergebnis_layer_angewendet |
Prüft, dass grenzpunkte_gemarkungsweise() nach dem Laden apply_style() mit dem neuen ALKIS-Grenzpunkt-Stil auf den fertigen Join-Layer anwendet (#53). | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.knickpunkt_pruefung.
Testgruppen:
TestExtrahiereKnickpunkte(4 Testfälle): — (Docstring fehlt)TestKnickpunktPruefungInputvalidierung(3 Testfälle): — (Docstring fehlt)TestKnickpunktPruefungKlassifizierung(2 Testfälle): Testet die Grün/Rot/Orange-Klassifizierung mit gesteuertem QGIS-Mock.TestFehlendKnickpunkteViaVerbindungslinien(4 Testfälle): Direkte Tests für_fehlende_knickpunkte_via_verbindungslinien.
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_liste |
— (Docstring fehlt) | grün | nie geprüft |
TestExtrahiereKnickpunkte.test_qgis_nicht_verfuegbar_gibt_leere_liste |
Wenn qgis.core kein QgsPointXY hat (ImportError in Funktion), leere Liste. | grün | nie geprüft |
TestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestKnickpunktPruefungKlassifizierung.test_identischer_punkt_wird_gruen_gezaehlt |
PunktortTA exakt am Knickpunkt → identisch_count == 1. | grün | nie geprüft |
TestKnickpunktPruefungKlassifizierung.test_kein_pta_an_knickpunkt_wird_rot_gezaehlt |
Kein PunktortTA am Knickpunkt → kein_pta_count == 1. | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_leere_union_gibt_null_zurueck |
bror_union.isEmpty() == True → (0, []). | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_weniger_als_zwei_pta_auf_ring_kein_orange |
Nur 1 gematchter PunktortTA auf Ring → keine fehlenden Knickpunkte. | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_im_puffer_wird_orange |
Nicht-gematchter PunktortTA innerhalb 3-cm-Puffer → orange gezählt. | grün | nie geprüft |
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_ausserhalb_puffer_kein_orange |
Nicht-gematchter PunktortTA außerhalb Puffer → nicht orange gezählt. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_main.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPluginMain(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPluginMain.test_init_sets_services_and_names |
— (Docstring fehlt) | grün | nie geprüft |
TestPluginMain.test_initGui_registers_action_when_basis_ui_exists |
— (Docstring fehlt) | grün | nie geprüft |
TestPluginMain.test_run_creates_dock_and_marks_toolbar_active |
— (Docstring fehlt) | grün | nie geprüft |
TestPluginMain.test_unload_removes_dock_and_action |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestVerfahrensgebietAlkis(8 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVerfahrensgebietAlkis.test_check_existing_layer_first_load |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_check_existing_layer_keep_existing |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_success_single_kombination |
Einzelne (adv_name, bezeichnung)-Kombination → kein Dialog, Memory-Layer zurück. | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_auswahl |
Zwei verschiedene Kombinationen → Dialog wird gezeigt, gewählte Features genutzt. | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_abbruch |
Zwei verschiedene Kombinationen → Nutzer bricht Dialog ab → NONE. | grün | nie geprüft |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl |
Zwei verschiedene Kombinationen → beide ausgewählt → beide Feature-Gruppen genutzt. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis_komplett.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.verfahrensgebiet_alkis_komplett.
Testgruppen:
TestSelectByLocation(3 Testfälle): — (Docstring fehlt)TestFuegeVkzFeldHinzu(3 Testfälle): — (Docstring fehlt)TestFlaechenvergleich(8 Testfälle): — (Docstring fehlt)TestVerfahrensgebietAlkisKomplett(16 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestSelectByLocation.test_processing_not_available_returns_zero |
— (Docstring fehlt) | grün | nie geprüft |
TestSelectByLocation.test_processing_success_returns_count |
— (Docstring fehlt) | grün | nie geprüft |
TestSelectByLocation.test_processing_exception_returns_zero |
— (Docstring fehlt) | grün | nie geprüft |
TestFuegeVkzFeldHinzu.test_empty_vkz_does_nothing |
— (Docstring fehlt) | grün | nie geprüft |
TestFuegeVkzFeldHinzu.test_none_vkz_does_nothing |
— (Docstring fehlt) | grün | nie geprüft |
TestFuegeVkzFeldHinzu.test_vkz_field_added |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_gleiche_flaeche_stimmt_ueberein |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_ueberein |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_differenz_innerhalb_toleranz |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_differenz_ausserhalb_toleranz |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_flaechen_werte_korrekt |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_lese_toleranz_default_ist_null |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_lese_toleranz_parst_string |
— (Docstring fehlt) | grün | nie geprüft |
TestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_null |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flst_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enriched |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_none |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_progress_cancel_after_step1_returns_none |
Abbruch nach Schritt 1 → sofortiger sauberer Rückgabestatus. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_success_flaechen_match_zeigt_info |
Flächenübereinstimmung → show_info_dialog mit erwartetem Text. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_abbrechen_kein_detailcheck |
Abweichung + Abbrechen → knickpunkt_pruefung wird NICHT aufgerufen. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_als_vg_laden |
Abweichung + Als VG laden → BROR-Layer wird umbenannt und als | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_detailpruefung_startet_knickpruefung |
Abweichung + Detailprüfung → lade_punktort_ta + knickpunkt_pruefung | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_bror_layer_bleibt_bei_erfolg_im_projekt |
Bei Erfolg darf der BROR-Layer NICHT entfernt werden. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_bror_layer_wird_bei_fehler_entfernt |
Bei Fehler (flst_alkis NONE) wird der BROR-Layer aus dem Projekt entfernt. | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_abgebrochen |
Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer bricht den | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_liefert_landkreis |
Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer wählt einen | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_wird_bei_fehlender_vkz_verwendet |
Keine Verfahrensnummer, aber Landkreis gesetzt → Landkreis-Suchpfad | grün | nie geprüft |
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_nur_laden_ueberspringt_dialog2 |
nur_laden=True → Funktion kehrt sofort zurück, Dialog 2 (Gemarkung | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_dialoge.py
Worum es in der Datei geht: Tests für die gemeinsame Auswahltabelle in verfahrensgebiet_dialoge (#56).
Testgruppen:
TestAuswahltabelle(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestAuswahltabelle.test_suchfilter_ueber_alle_spalten |
Prüft, dass der Suchfilter Teilstrings in jeder Spalte ohne Groß-/Kleinschreibung findet und leer alles zeigt. | grün | nie geprüft |
TestAuswahltabelle.test_auswahl_nach_umsortieren |
Prüft, dass die Auswahl über den gespeicherten Index auf die ursprünglichen Zeilen zurückgeführt wird, auch wenn die Tabelle umsortiert ist. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py
Worum es in der Datei geht: Unit-Tests für das Verfahrensgebiet-Edit-Service-Modul.
Testgruppen:
TestPruefeFlurstueckLayer(3 Testfälle): — (Docstring fehlt)TestPruefeAuswahl(3 Testfälle): — (Docstring fehlt)TestGetKennzeichenMenge(3 Testfälle): — (Docstring fehlt)TestErstelle(3 Testfälle): — (Docstring fehlt)TestErgaenzeVerfahrensgebiet(3 Testfälle): — (Docstring fehlt)TestEntferneAusVerfahrensgebiet(5 Testfälle): — (Docstring fehlt)TestErsetze(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestPruefeFlurstueckLayer.test_layer_ok_passes |
Gültiger Polygon-Vektor-Layer mit Pflichtfeldern → ok=True. | grün | nie geprüft |
TestPruefeFlurstueckLayer.test_layer_missing_field_fails |
Layer ohne Pflichtfelder → ok=False, aktion=felder_fehlen. | grün | nie geprüft |
TestPruefeFlurstueckLayer.test_layer_wrong_geometry_fails |
Layer mit falschem Geometrietyp → ok=False, aktion=falscher_geotyp. | grün | nie geprüft |
TestPruefeAuswahl.test_no_selection_fails |
— (Docstring fehlt) | grün | nie geprüft |
TestPruefeAuswahl.test_with_selection_passes |
— (Docstring fehlt) | grün | nie geprüft |
TestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zero |
— (Docstring fehlt) | grün | nie geprüft |
TestGetKennzeichenMenge.test_returns_set_of_ids |
Kommagetrennte Kennzeichen im Single-Feature werden korrekt geparst. | grün | nie geprüft |
TestGetKennzeichenMenge.test_empty_layer_returns_empty_set |
— (Docstring fehlt) | grün | nie geprüft |
TestGetKennzeichenMenge.test_single_kennzeichen_without_comma |
Einzelnes Kennzeichen ohne Komma wird korrekt erkannt. | grün | nie geprüft |
TestErstelle.test_success_counts |
3 gültige Features → erfolgreich=3, fehlgeschlagen=0, 1 Union-Feature im Layer. | grün | nie geprüft |
TestErstelle.test_partial_failure_on_empty_geometry |
2 ok + 1 leere Geometrie → erfolgreich=2, fehlgeschlagen=1. | grün | nie geprüft |
TestErstelle.test_all_fail_on_empty_geometries |
Alle Features haben leere Geometrie → erfolgreich=0, kein Feature im Layer. | grün | nie geprüft |
TestErgaenzeVerfahrensgebiet.test_adds_only_new_ids |
Auswahl enthält 1 neue + 1 bereits vorhandene ID → hinzugefügt=1. | grün | nie geprüft |
TestErgaenzeVerfahrensgebiet.test_skip_empty_geometry_counts_as_failed |
Neue ID mit leerer Geometrie → fehlgeschlagen=1, hinzugefügt=0. | grün | nie geprüft |
TestErgaenzeVerfahrensgebiet.test_all_already_present |
Alle ausgewählten IDs bereits vorhanden → bereits_vorhanden=n, hinzugefügt=0. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_removes_present_ids |
Auswahl enthält 1 vorhandene ID → entfernt=1, nicht_enthalten=0. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_counts_ids_not_in_layer |
Auswahl enthält ID, die nicht im Verfahrensgebiet ist → nicht_enthalten=1. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_none_present_in_layer |
Auswahl hat IDs, die alle nicht im Layer sind → entfernt=0, nicht_enthalten=n. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_empty_selection_removes_nothing |
Leere Auswahl → nichts entfernt, nichts nicht_enthalten. | grün | nie geprüft |
TestEntferneAusVerfahrensgebiet.test_removes_last_id_deletes_feature |
Wird das letzte Kennzeichen entfernt, wird das Feature gelöscht. | grün | nie geprüft |
TestErsetze.test_ersetze_delegates_to_erstelle |
ersetze_verfahrensgebiet gibt dasselbe Ergebnis wie erstelle zurück. | grün | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.verfahrensgebiet_shape_komplett.
Testgruppen:
TestFindShp(4 Testfälle): — (Docstring fehlt)TestErstelleMemoryLayerAusShp(3 Testfälle): — (Docstring fehlt)TestLadeVgAusZip(6 Testfälle): — (Docstring fehlt)TestVerfahrensgebietShapeKomplett(18 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestFindShp.test_findet_shp_in_root |
— (Docstring fehlt) | grün | nie geprüft |
TestFindShp.test_findet_shp_in_unterordner |
— (Docstring fehlt) | grün | nie geprüft |
TestFindShp.test_kein_shp_gibt_none_zurueck |
— (Docstring fehlt) | grün | nie geprüft |
TestFindShp.test_case_insensitive_erkennung |
— (Docstring fehlt) | grün | nie geprüft |
TestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_none |
— (Docstring fehlt) | grün | nie geprüft |
TestErstelleMemoryLayerAusShp.test_keine_features_gibt_none |
— (Docstring fehlt) | grün | nie geprüft |
TestErstelleMemoryLayerAusShp.test_attribute_von_erstem_feature_werden_gesetzt |
Attributwerte des ersten Features werden auf das Union-Feature übertragen. | grün | nie geprüft |
TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_lade_zip_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_shape_vg_sofort_ins_projekt_nach_laden |
Shape-VG wird unmittelbar nach dem Laden ins Projekt eingefügt. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt |
Shape-VG wird bei Fehler/Abbruch aus dem Projekt entfernt. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_shape_vg_bleibt_im_projekt_bei_erfolg |
Bei erfolgreichem Abschluss wird shape_vg NICHT aus dem Projekt entfernt. | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_flst_none_aborts |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warning |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt |
— (Docstring fehlt) | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_layer_ist_stets_none |
Dritter Rückgabewert ist im Shape-Workflow immer None (kein BROR). | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt |
VKZ gesetzt → verfahrensgebiet_alkis aufgerufen, bror_layer zurückgegeben. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_wird_vor_shape_vg_ins_projekt_eingefuegt |
BROR wird VOR shape_vg ins Projekt eingefügt (kein Namenskonflikt). | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_wird_bei_abbruch_aus_projekt_entfernt |
BROR und shape_vg werden bei Fehler aus dem Projekt entfernt. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_verfahrensgebiet_alkis_nicht_aufgerufen_wenn_vkz_leer |
Leere VKZ → verfahrensgebiet_alkis wird NICHT aufgerufen. | grün | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_bror_als_erstes_argument_beim_flaechenvergleich |
Mit BROR: _vergleiche_flaechen wird (bror, shape_vg, ...) aufgerufen. | rot (Baseline) | nie geprüft |
TestVerfahrensgebietShapeKomplett.test_fallback_auf_temp_enriched_wenn_bror_ladeversagen |
BROR-Ladeversagen → Fallback: _vergleiche_flaechen mit shape_vg vs temp_enriched. | rot (Baseline) | nie geprüft |
Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestWorkingTab(24 Testfälle): — (Docstring fehlt)TestHandleVerfShape(9 Testfälle): — (Docstring fehlt)TestZoomImProjektKbs(2 Testfälle): Zoom auf das neue Verfahrensgebiet rechnet in das KBS der Kartenansicht um (Basis #99).
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestWorkingTab.test_set_busy_updates_button_state |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_on_verf_layer_changed_valid_sets_variable |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_on_verf_layer_changed_none_clears_variable |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_verf_alkis_success_path |
verfahrensgebiet_alkis_komplett → 4-Tupel (enriched, flst, bror, FIRST). | rot (Baseline) | nie geprüft |
TestWorkingTab.test_handle_verf_alkis_failure_clears_layer_var |
Status NONE → Layer-Variable wird auf '' gesetzt. | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_first_load_uebernimmt_layer |
Erstmaliges Laden über 'Flurstücke laden' fügt den Layer dem Projekt hinzu. | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_aus_gemarkungen_ruft_flurstueck_alkis_ohne_schluessel_abfrage |
Der Gemarkungen-Auswahl-Button ruft dieselbe Ladefunktion mit ohne_schluessel_abfrage=True auf (#47). | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_aus_gemarkungen_abbruch_zeigt_keine_zusaetzliche_meldung |
Bricht flurstueck_alkis() ab (None, NONE), zeigt der Button keine eigene Meldung – flurstueck_alkis() hat das schon getan (#47). | grün | nie geprüft |
TestWorkingTab.test_handle_grenz_alkis_success_sets_haken |
Grenzpunkte erfolgreich geladen → haken_grenz wird gesetzt. | rot (Baseline) | nie geprüft |
TestWorkingTab.test_handle_grenz_alkis_none_result_sets_no_haken |
grenzpunkt_alkis liefert (None, None) → kein Haken. | rot (Baseline) | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_style |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_path |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_flurst_alkis_invalid_input_returns_early |
Status NONE (z. B. Nutzerabbruch) → kein Layer, kein Haken. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_active_layer |
Kein aktiver Layer → warning, kein Layer wird erstellt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_required_fields |
Layer ohne Pflichtfelder → warning, kein Layer wird erstellt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_selection |
Keine Flurstück-Auswahl → warning, kein Layer erstellt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_new_layer_success |
Erstlauf ohne bestehenden Layer → Layer wird erstellt und hinzugefügt. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ergaenzen_dispatch |
Entscheidung 'ergaenzen' → ergaenze_verfahrensgebiet wird aufgerufen. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_entfernen_dispatch |
Entscheidung 'entfernen' → entferne_aus_verfahrensgebiet wird aufgerufen. | grün | nie geprüft |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ersetzen_dispatch |
Entscheidung 'ersetzen' → alter Layer entfernt, neuer hinzugefügt. | grün | nie geprüft |
TestWorkingTab.test_aus_liste_button_shows_not_implemented_hint |
— (Docstring fehlt) | grün | nie geprüft |
TestWorkingTab.test_handle_gem_alkis_service_reachable_adds_layer |
Dienst erreichbar → Layer ins Projekt, Stil angewendet, Haken gesetzt. | grün | nie geprüft |
TestWorkingTab.test_handle_gem_alkis_service_unreachable_shows_warning |
Dienst nicht erreichbar (None) → warning, kein addMapLayer. | grün | nie geprüft |
TestWorkingTab.test_handle_gem_alkis_layer_already_exists_shows_info |
Layer 'Gemarkungen' bereits vorhanden → info, kein erneutes Laden. | grün | nie geprüft |
TestHandleVerfShape.test_status_none_clears_layer_variable |
Status NONE → Layer-Variable wird auf '' gesetzt. | grün | nie geprüft |
TestHandleVerfShape.test_button_always_re_enabled_on_failure |
Button muss nach Status NONE wieder freigegeben sein (finally). | grün | nie geprüft |
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_nein_bricht_ab |
Verfahrensnummer leer + Nutzer wählt 'Nein' → Vorgang abgebrochen. | rot (Baseline) | nie geprüft |
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort |
Verfahrensnummer leer + Nutzer wählt 'Ja' → Pipeline wird aufgerufen. | rot (Baseline) | nie geprüft |
TestHandleVerfShape.test_verfahrensnummer_gesetzt_kein_rueckfrage_dialog |
Verfahrensnummer gesetzt → kein ask_yes_no-Dialog. | grün | nie geprüft |
TestHandleVerfShape.test_success_path_applies_style_and_sets_haken |
Erfolg → verfahrensgebiet.qml angewendet, haken_verf gesetzt, success aufgerufen. | grün | nie geprüft |
TestHandleVerfShape.test_bror_layer_erhaelt_qml_stil |
Wenn bror_layer zurückgegeben → BauRaumOderBodenordnungsrecht.qml angewendet. | grün | nie geprüft |
TestHandleVerfShape.test_enriched_layer_already_in_project_not_added_again |
Layer bereits im Projekt → kein erneutes addMapLayer für VG-Layer. | grün | nie geprüft |
TestHandleVerfShape.test_busy_state_set_during_execution |
Button wird während der Ausführung auf busy gesetzt. | grün | nie geprüft |
TestZoomImProjektKbs.test_alkis_zoom_ueber_zoom_auf_layer |
Prüft, dass nach dem Laden aus ALKIS über zoom_auf_layer auf das Verfahrensgebiet gezoomt wird und nicht mit der unumgerechneten Layer-Ausdehnung. | grün | nie geprüft |
TestZoomImProjektKbs.test_shape_zoom_ueber_zoom_auf_layer |
Prüft, dass nach dem Laden aus einem Shape über zoom_auf_layer auf das Verfahrensgebiet gezoomt wird und nicht mit der unumgerechneten Layer-Ausdehnung. | grün | nie geprüft |
Paket sn_plan41
Fachplugin, Ordner Plugin_SN_Plan41 – 5 Testdateien mit 44 Testfällen (43 grün, 1 rot, 0 übersprungen).
Plugin_SN_Plan41/tests/test_listenauswerter.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestListenauswerter(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_provider |
— (Docstring fehlt) | grün | nie geprüft |
TestListenauswerter.test_validate_rows_rejects_missing_required_fields |
— (Docstring fehlt) | grün | nie geprüft |
TestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failure |
— (Docstring fehlt) | grün | nie geprüft |
TestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Plan41/tests/test_tab_a_logic.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestTabALogic(9 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestTabALogic.test_verfahrens_db_set_and_load_roundtrip |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_verfahrens_db_clear |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_linkliste_set_and_load_existing_path |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_linkliste_load_returns_none_when_file_missing |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persists |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejects |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_raumfilter_without_filter_returns_none |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup |
— (Docstring fehlt) | grün | nie geprüft |
TestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Plan41/tests/test_tab_a_preconditions.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestTabAPreconditions(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missing |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing |
— (Docstring fehlt) | grün | nie geprüft |
Plugin_SN_Plan41/tests/test_tab_a_ui.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestTabAUI(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestTabAUI.test_tab_a_callbacks_can_be_called_without_crash |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAUI.test_tab_a_raumfilter_callback_persists_value |
— (Docstring fehlt) | grün | nie geprüft |
TestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber |
— (Docstring fehlt) | rot (Baseline) | nie geprüft |
Plugin_SN_Plan41/tests/test_vln_api_logic.py
Worum es in der Datei geht: Tests für sn_plan41/modules/vln_api_logic.py
Testgruppen:
TestVlnApiLogicAvailability(2 Testfälle): — (Docstring fehlt)TestVlnApiLogicCredentials(4 Testfälle): — (Docstring fehlt)TestVlnApiLogicLogin(6 Testfälle): — (Docstring fehlt)TestVlnApiLogicVerfahren(2 Testfälle): — (Docstring fehlt)TestVlnApiLogicVkz(4 Testfälle): — (Docstring fehlt)TestVlnApiLogicLoadP41(3 Testfälle): — (Docstring fehlt)TestVlnApiLogicUpload(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft |
|---|---|---|---|
TestVlnApiLogicAvailability.test_is_available_reflects_import_state |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicAvailability.test_is_available_false_when_vln_karten_missing |
Wenn VLN_KARTEN_AVAILABLE=False, liefert is_available() False. | grün | nie geprüft |
TestVlnApiLogicCredentials.test_save_api_key_calls_qsettings |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicCredentials.test_clear_api_key_calls_remove |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mail |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_login_sets_client_and_saves_key |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modules |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_login_propagates_api_error |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_logout_clears_client |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_is_authenticated_false_after_logout |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_client |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticated |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_client |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_load_stored_vkz_reads_from_project |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_empty |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_save_vkz_writes_to_project |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicVkz.test_save_vkz_does_nothing_for_none |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_karten |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layers |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_path |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_returns_error_for_none_layer |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modules |
— (Docstring fehlt) | grün | nie geprüft |
TestVlnApiLogicUpload.test_upload_calls_save_feature_collection |
— (Docstring fehlt) | grün | nie geprüft |
Lücken
Arbeitsliste: Diese Testfälle haben keinen Docstring; was sie fachlich prüfen, lässt sich nur aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall, dann verschwindet er hier von selbst.
sn_basis – 0 von 526 Testfällen ohne Beschreibung
Keine Lücken.
sn_verfahrensgebiet – 102 von 289 Testfällen ohne Beschreibung
Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py (25 von 25)
TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullenTestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichenTestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichenTestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuelltTestBaueFlurstueckCsv.test_ungueltiges_format_gibt_noneTestBaueFlurstueckCsv.test_leerer_wert_gibt_noneTestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_aTestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_bTestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_zTestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerischTestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkanntTestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuelltTestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_listeTestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahlTestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layerTestHoleVerfahrensgebietLayer.test_kein_layer_gibt_noneTestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichenTestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummerTestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_anTestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_anTestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_anTestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_noneTestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehlerTestLadeBeteiligungCsv.test_leere_datei_wirft_fehlerTestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck
Plugin_SN_Verfahrensgebiet/tests/test_dockwidget.py (2 von 2) – auch der Modul-Docstring fehlt
TestDockWidget.test_init_tabs_with_services_injects_available_servicesTestDockWidget.test_init_tabs_with_services_reports_errors
Plugin_SN_Verfahrensgebiet/tests/test_gemarkung_alkis.py (6 von 14)
TestExtractSchluesselUndName.test_standard_attributeTestExtractSchluesselUndName.test_fallback_attributeTestExtractSchluesselUndName.test_missing_attribute_returns_emptyTestExtractSchluesselUndName.test_none_value_returns_emptyTestGemarkungSchluesselnurNummern.test_returns_only_nummernTestGemarkungSchluesselnurNummern.test_empty_input_returns_empty
Plugin_SN_Verfahrensgebiet/tests/test_grenzpunkt_alkis.py (6 von 13)
TestGrenzpunktAlkis.test_no_vg_layer_returns_noneTestGrenzpunktAlkis.test_invalid_punktort_layerTestGrenzpunktAlkis.test_empty_punktort_layerTestGrenzpunktAlkis.test_no_gml_ids_returns_pta_onlyTestGrenzpunktAlkis.test_grenzpunkt_batch_emptyTestGrenzpunktAlkis.test_success_returns_both_layers
Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py (6 von 13)
TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_listeTestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_listeTestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_listeTestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueckTestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueckTestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck
Plugin_SN_Verfahrensgebiet/tests/test_main.py (4 von 4) – auch der Modul-Docstring fehlt
TestPluginMain.test_init_sets_services_and_namesTestPluginMain.test_initGui_registers_action_when_basis_ui_existsTestPluginMain.test_run_creates_dock_and_marks_toolbar_activeTestPluginMain.test_unload_removes_dock_and_action
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py (4 von 8) – auch der Modul-Docstring fehlt
TestVerfahrensgebietAlkis.test_check_existing_layer_first_loadTestVerfahrensgebietAlkis.test_check_existing_layer_keep_existingTestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missingTestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis_komplett.py (19 von 30)
TestSelectByLocation.test_processing_not_available_returns_zeroTestSelectByLocation.test_processing_success_returns_countTestSelectByLocation.test_processing_exception_returns_zeroTestFuegeVkzFeldHinzu.test_empty_vkz_does_nothingTestFuegeVkzFeldHinzu.test_none_vkz_does_nothingTestFuegeVkzFeldHinzu.test_vkz_field_addedTestFlaechenvergleich.test_gleiche_flaeche_stimmt_uebereinTestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_uebereinTestFlaechenvergleich.test_differenz_innerhalb_toleranzTestFlaechenvergleich.test_differenz_ausserhalb_toleranzTestFlaechenvergleich.test_flaechen_werte_korrektTestFlaechenvergleich.test_lese_toleranz_default_ist_nullTestFlaechenvergleich.test_lese_toleranz_parst_stringTestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_nullTestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_abortsTestVerfahrensgebietAlkisKomplett.test_flst_none_abortsTestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enrichedTestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_noneTestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py (4 von 21)
TestPruefeAuswahl.test_no_selection_failsTestPruefeAuswahl.test_with_selection_passesTestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zeroTestGetKennzeichenMenge.test_empty_layer_returns_empty_set
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py (20 von 31)
TestFindShp.test_findet_shp_in_rootTestFindShp.test_findet_shp_in_unterordnerTestFindShp.test_kein_shp_gibt_none_zurueckTestFindShp.test_case_insensitive_erkennungTestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_noneTestErstelleMemoryLayerAusShp.test_keine_features_gibt_noneTestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueckTestLadeVgAusZip.test_zip_fehler_gibt_none_und_warningTestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warningTestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warningTestLadeVgAusZip.test_leere_geometrien_geben_none_und_warningTestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueckTestVerfahrensgebietShapeKomplett.test_lade_zip_none_abortsTestVerfahrensgebietShapeKomplett.test_flst_none_abortsTestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warningTestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialogTestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueckTestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_aufTestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehlerTestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt
Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py (6 von 35) – auch der Modul-Docstring fehlt
TestWorkingTab.test_set_busy_updates_button_stateTestWorkingTab.test_on_verf_layer_changed_valid_sets_variableTestWorkingTab.test_on_verf_layer_changed_none_clears_variableTestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_styleTestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_pathTestWorkingTab.test_aus_liste_button_shows_not_implemented_hint
sn_plan41 – 43 von 44 Testfällen ohne Beschreibung
Plugin_SN_Plan41/tests/test_listenauswerter.py (4 von 4) – auch der Modul-Docstring fehlt
TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_providerTestListenauswerter.test_validate_rows_rejects_missing_required_fieldsTestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failureTestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case
Plugin_SN_Plan41/tests/test_tab_a_logic.py (9 von 9) – auch der Modul-Docstring fehlt
TestTabALogic.test_verfahrens_db_set_and_load_roundtripTestTabALogic.test_verfahrens_db_clearTestTabALogic.test_linkliste_set_and_load_existing_pathTestTabALogic.test_linkliste_load_returns_none_when_file_missingTestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persistsTestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejectsTestTabALogic.test_resolve_raumfilter_without_filter_returns_noneTestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookupTestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps
Plugin_SN_Plan41/tests/test_tab_a_preconditions.py (3 von 3) – auch der Modul-Docstring fehlt
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missingTestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_projectTestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing
Plugin_SN_Plan41/tests/test_tab_a_ui.py (3 von 3) – auch der Modul-Docstring fehlt
TestTabAUI.test_tab_a_callbacks_can_be_called_without_crashTestTabAUI.test_tab_a_raumfilter_callback_persists_valueTestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber
Plugin_SN_Plan41/tests/test_vln_api_logic.py (24 von 25)
TestVlnApiLogicAvailability.test_is_available_reflects_import_stateTestVlnApiLogicCredentials.test_save_api_key_calls_qsettingsTestVlnApiLogicCredentials.test_clear_api_key_calls_removeTestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mailTestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_emptyTestVlnApiLogicLogin.test_login_sets_client_and_saves_keyTestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modulesTestVlnApiLogicLogin.test_login_propagates_api_errorTestVlnApiLogicLogin.test_logout_clears_clientTestVlnApiLogicLogin.test_is_authenticated_false_after_logoutTestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_clientTestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticatedTestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_clientTestVlnApiLogicVkz.test_load_stored_vkz_reads_from_projectTestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_emptyTestVlnApiLogicVkz.test_save_vkz_writes_to_projectTestVlnApiLogicVkz.test_save_vkz_does_nothing_for_noneTestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_kartenTestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layersTestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layerTestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_pathTestVlnApiLogicUpload.test_upload_returns_error_for_none_layerTestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modulesTestVlnApiLogicUpload.test_upload_calls_save_feature_collection
Ungetestete Funktionen (strukturelle Lücke)
Heuristik, kein Beweis: Diese Funktionen und Methoden kommen unter ihrem Namen in keiner Testdatei des Pakets vor. Das schließt nicht aus, dass sie indirekt über eine andere, getestete Funktion mitlaufen – umgekehrt gilt: Taucht der Name irgendwo in einer Testdatei auf, gilt die Funktion schon als referenziert, auch bei zufälliger Namensgleichheit mit etwas anderem. main.py/__init__.py (QGIS-Einstiegspunkte wie classFactory, initGui, unload) und Dunder-Methoden sind ausgenommen. Diese Liste ersetzt keine fachliche Prüfung, ob ein Test sinnvoll wäre – dafür braucht es einen Menschen, der die Funktion kennt.
„beabsichtigt“ liest den Docstring der Funktion: Enthält er einen Vermerk wie „von Test abgesehen, weil …“ oder „Test ausgesetzt, zunächst Refactor“, gilt der fehlende Test als bewusste Entscheidung. Alles andere ist „ungeklärt“ – die eigentliche Arbeitsliste.
sn_basis – 126 von 393 (32 %) ohne Testbezug (61 ungeklärt, 65 beabsichtigt)
functions/dialog_wrapper.py (9)
show_info_dialog(Zeile 42) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ask_detailpruefung_oder_vg_laden(Zeile 241) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ask_detailpruefung_oder_abbrechen(Zeile 293) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.set_total(Zeile 388) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.set_value(Zeile 397) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.set_label(Zeile 410) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.is_canceled(Zeile 420) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026ProgressDialog.raise_to_front(Zeile 438) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026create_progress_dialog(Zeile 457) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
functions/os_wrapper.py (4)
normalize_path(Zeile 43) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026get_home_dir(Zeile 55) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026is_absolute_path(Zeile 64) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026path_suffix(Zeile 106) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
functions/qgiscore_wrapper.py (2)
_crs_kennung(Zeile 1259) — ungeklärt_crs_gueltig(Zeile 1267) — ungeklärt
functions/qgisui_wrapper.py (1)
add_toolbar(Zeile 204) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
functions/qt_wrapper.py (2)
exec_dialog(Zeile 64) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026debug_qt_status(Zeile 71) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
modules/basemap_kacheln.py (4)
_aufruf(Zeile 28) — ungeklärt_enum_int(Zeile 61) — ungeklärtqgis_filterpruefer(Zeile 101) — ungeklärt_objekt_schluessel(Zeile 122) — ungeklärt
modules/basemap_katalog.py (6)
_sammle_bedingungen(Zeile 138) — ungeklärt_slug(Zeile 177) — ungeklärt_bezeichnung_aus_id(Zeile 184) — ungeklärt_bezeichnung(Zeile 202) — ungeklärteintrags_schluessel(Zeile 216) — ungeklärt_ist_grundvariante(Zeile 235) — ungeklärt
modules/basemap_legende.py (4)
Katalog.eintrag_fuer(Zeile 112) — ungeklärtKatalog.sortierschluessel(Zeile 115) — ungeklärt_aufruf(Zeile 267) — ungeklärtfinde_basemap_layer(Zeile 311) — ungeklärt
modules/basemap_legende_layout.py (10)
_enum_int(Zeile 79) — ungeklärt_aufruf(Zeile 86) — ungeklärtfriere_zoom_ein(Zeile 131) — ungeklärtbaue_symbole(Zeile 176) — ungeklärt_ist_unsichtbar(Zeile 199) — ungeklärt_rgba(Zeile 222) — ungeklärt_ebenen_beschreiben(Zeile 226) — ungeklärtvorschau_icon(Zeile 259) — ungeklärt_rechteck_mm(Zeile 316) — ungeklärt_layout_messung(Zeile 341) — ungeklärt
modules/basemap_stilkorrektur.py (2)
_ist_null(Zeile 28) — ungeklärt_korrigiere_symbol(Zeile 50) — ungeklärt
modules/basemap_stilvorlagen.py (6)
standard_ordner(Zeile 47) — ungeklärt_stilnamen(Zeile 58) — ungeklärtlies_importdatei(Zeile 65) — ungeklärtBasemapStilvorlagen._pfade(Zeile 113) — ungeklärtBasemapStilvorlagen._metadaten(Zeile 117) — ungeklärtBasemapStilvorlagen.dateiname(Zeile 127) — ungeklärt
modules/basemap_themen.py (5)
_aufruf(Zeile 62) — ungeklärt_erfolg(Zeile 72) — ungeklärt_parameter(Zeile 101) — ungeklärt_normiert(Zeile 106) — ungeklärt_lade_themenstil(Zeile 183) — ungeklärt
modules/DataGrabber.py (3)
DataGrabber.set_source(Zeile 68) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026DataGrabber._process_database_source(Zeile 312) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026DataGrabber._process_service_source(Zeile 324) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
modules/LayerLoader.py (2)
LayerLoader._was_canceled(Zeile 42) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026LayerLoader._process_events(Zeile 51) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
modules/linkpruefer.py (3)
Linkpruefer._ist_url(Zeile 41) — beabsichtigt: von Test abgesehen, weil bereits über pruefe() in test_linkpruefer.py indirektLinkpruefer._pruefe_url(Zeile 84) — beabsichtigt: von Test abgesehen, weil bereits über pruefe() in test_linkpruefer.py vollständigLinkpruefer._pruefe_dateipfad(Zeile 121) — beabsichtigt: von Test abgesehen, weil bereits über pruefe() in test_linkpruefer.py vollständig
modules/print_kartenrand.py (7)
_aufruf(Zeile 119) — ungeklärt_rechteck(Zeile 134) — ungeklärt_legende_groesse(Zeile 139) — ungeklärt_rendere_legenden(Zeile 149) — ungeklärtsetze_legenden_mindestbreite(Zeile 156) — ungeklärt_on_projekt_gelesen(Zeile 203) — ungeklärt_verschiebe(Zeile 234) — ungeklärt
modules/print_layout.py (11)
PrintLayout._create_map_item(Zeile 98) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._set_item_frame_stroke_width(Zeile 120) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._fit_extent_to_map_item(Zeile 156) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout.add_text_label(Zeile 214) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._setup_layout_objects(Zeile 246) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._create_label_item(Zeile 378) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._resolve_visible_map_layers(Zeile 476) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._apply_grid_common_settings(Zeile 798) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._safe_grid_call(Zeile 805) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._apply_grid_annotation_text_style(Zeile 817) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayout._create_rectangle_box_item(Zeile 918) — beabsichtigt: Test ausgesetzt, zunächst Refactor
modules/print_layout_baufreigabe.py (3)
PrintLayoutBaufreigabe.create_baufreigabe_layout(Zeile 90) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayoutBaufreigabe._setup_layout_objects_baufreigabe(Zeile 274) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLayoutBaufreigabe._calc_atlas_margin_percent(Zeile 408) — beabsichtigt: Test ausgesetzt, zunächst Refactor
modules/print_logic.py (16)
PrintLogic._failed_result(Zeile 125) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._show_target_size_too_small(Zeile 129) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._is_enabled_flag(Zeile 137) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._resolve_layer_from_project(Zeile 143) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._resolve_active_layer(Zeile 164) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_druckpuffer_cm(Zeile 174) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_druckpuffer_m(Zeile 183) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._build_rectangle(Zeile 195) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._clone_extent(Zeile 205) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_existing_layer_by_name(Zeile 272) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._create_druckrechteck_layer(Zeile 286) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic.configure_atlas_for_baufreigabe_layout(Zeile 485) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic.activate_druckrechteck_capture(Zeile 689) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._layer_crs(Zeile 943) — ungeklärtPrintLogic._get_plot_dimensions_mm(Zeile 1134) — beabsichtigt: Test ausgesetzt, zunächst RefactorPrintLogic._get_required_map_dimensions_mm(Zeile 1144) — beabsichtigt: Test ausgesetzt, zunächst Refactor
modules/Pruefmanager.py (4)
Pruefmanager.report_summary(Zeile 45) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026Pruefmanager.zeige_hinweis(Zeile 63) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026Pruefmanager._handle_datei_existiert(Zeile 87) — beabsichtigt: von Test abgesehen, weil bereits über verarbeite() in test_pruefmanager.py vollständigPruefmanager._ask_use_or_replace_pufferlayer(Zeile 280) — beabsichtigt: von Test abgesehen, weil toter Code: referenziert self.pruefmanager, das auf
ui/base_dockwidget.py (2)
_inhalt(Zeile 23) — ungeklärttabs_mit_scrollbereich(Zeile 30) — ungeklärt
ui/tabs/print_tab.py (7)
PrintTab._build_ui(Zeile 116) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_kartenname_changed(Zeile 340) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_massstab_changed(Zeile 354) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_zielgroesse_changed(Zeile 366) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_formfaktor_changed(Zeile 372) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._on_druckbereich_changed(Zeile 379) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026PrintTab._format_druckpuffer_label(Zeile 437) — beabsichtigt: von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
ui/widgets/basemap_bereich.py (13)
BasemapBereich._build_ui(Zeile 61) — beabsichtigt: von Test abgesehen, weil reiner Widget-Aufbau; im QGIS-Test geprüftBasemapBereich._ueberschrift(Zeile 164) — ungeklärtBasemapBereich._vorlagen(Zeile 174) — ungeklärtBasemapBereich._gewaehltes_thema(Zeile 195) — ungeklärtBasemapBereich._zeige_thema(Zeile 198) — ungeklärtBasemapBereich._umschalten(Zeile 207) — ungeklärtBasemapBereich._aenderungen_klaeren(Zeile 241) — ungeklärtBasemapBereich._ersetzen(Zeile 298) — ungeklärtBasemapBereich._on_erzeugen_geaendert(Zeile 336) — ungeklärtBasemapBereich._gewaehlte_vorlage(Zeile 370) — ungeklärtBasemapBereich._on_stil_standard(Zeile 435) — ungeklärtBasemapBereich._on_stil_loeschen(Zeile 446) — ungeklärt_thema_text(Zeile 500) — ungeklärt
sn_verfahrensgebiet – 51 von 161 (32 %) ohne Testbezug (51 ungeklärt, 0 beabsichtigt)
functions/beteiligung_pruefung.py (5)
_baue_nenner_kennzeichen(Zeile 139) — ungeklärt_hole_flurstuecke_layer(Zeile 253) — ungeklärt_flurstueckskennzeichen_geometrien(Zeile 258) — ungeklärt_try1_listenabgleich(Zeile 279) — ungeklärt_lese_vef_vkzf(Zeile 380) — ungeklärt
functions/eigentuemer_suche.py (5)
_plz(Zeile 111) — ungeklärt_ist_gesetzt(Zeile 122) — ungeklärt_vergleichstext(Zeile 126) — ungeklärt_spalten_des_layers(Zeile 131) — ungeklärt_gruppenschluessel(Zeile 162) — ungeklärt
functions/flurstueck_alkis.py (1)
_vorhandene_kennzeichen(Zeile 80) — ungeklärt
functions/flurstueck_suche.py (2)
_normiere_nenner(Zeile 65) — ungeklärt_hole_layer(Zeile 155) — ungeklärt
functions/gemarkung_alkis.py (1)
gemarkung_schluessel_von_vg_geometrie(Zeile 212) — ungeklärt
functions/grenzpunkt_alkis.py (4)
_punktort_ta_bbox_param(Zeile 115) — ungeklärt_hat_geometrie(Zeile 573) — ungeklärt_lade_gemarkung_extents_mit_puffer(Zeile 637) — ungeklärt_lade_punktort_ta_batches_per_gemarkung(Zeile 784) — ungeklärt
functions/knickpunkt_pruefung.py (2)
_setze_kategorien_symbologie(Zeile 158) — ungeklärterstelle_korrigiertes_polygon(Zeile 604) — ungeklärt
functions/umringspruefung.py (3)
_zerlege_in_teile(Zeile 55) — ungeklärt_setze_kategorien_symbologie(Zeile 112) — ungeklärtumringspruefung(Zeile 152) — ungeklärt
functions/umringstatistik_grenzpunkte.py (3)
_setze_kategorien_symbologie(Zeile 74) — ungeklärt_klassifiziere(Zeile 119) — ungeklärtumringstatistik_grenzpunkte(Zeile 164) — ungeklärt
functions/verfahrensgebiet_alkis.py (1)
_baue_layer_aus_kombinationen(Zeile 144) — ungeklärt
functions/verfahrensgebiet_alkis_komplett.py (2)
_entferne_hilfs_layer(Zeile 100) — ungeklärt_flaeche_des_layers(Zeile 210) — ungeklärt
functions/verfahrensgebiet_dialoge.py (2)
baue_auswahltabelle(Zeile 31) — ungeklärtask_landkreis_objekte(Zeile 197) — ungeklärt
functions/verfahrensgebiet_shape_komplett.py (6)
_normalisiere_feldname(Zeile 110) — ungeklärt_finde_fbschl_index(Zeile 132) — ungeklärt_ermittle_gebietstyp_aus_fbschl(Zeile 161) — ungeklärt_wende_vergleich_stil_an(Zeile 211) — ungeklärt_erstelle_vergleich_layer(Zeile 251) — ungeklärt_finde_alle_shp(Zeile 342) — ungeklärt
ui/eigentuemer_anzeige.py (2)
_ortsteil(Zeile 27) — ungeklärtEigentuemerAnzeige.closeEvent(Zeile 88) — ungeklärt
ui/tabs/eigentuemer_tab.py (7)
EigentuemerLayerAuswahl.showPopup(Zeile 73) — ungeklärtEigentuemerTab._zoome_auf_auswahl(Zeile 230) — ungeklärtEigentuemerTab._zeige_treffer(Zeile 273) — ungeklärtEigentuemerTab._anzeige_wurde_geschlossen(Zeile 311) — ungeklärtEigentuemerTab._aktualisiere_sitzungsstatus(Zeile 341) — ungeklärtEigentuemerTab._korrektur_layer_id(Zeile 356) — ungeklärtEigentuemerTab._korrektur_vorschau(Zeile 360) — ungeklärt
ui/tabs/working_tab.py (5)
WorkingTab.handle_beteiligung_pruefen(Zeile 297) — ungeklärtWorkingTab._haken_label(Zeile 349) — ungeklärtWorkingTab._restore_verf_layer_selection(Zeile 374) — ungeklärtWorkingTab._uebernimm_flurstuecke_ergebnis(Zeile 390) — ungeklärtWorkingTab.handle_umringstatistik(Zeile 777) — ungeklärt
sn_plan41 – 39 von 80 (49 %) ohne Testbezug (39 ungeklärt, 0 beabsichtigt)
modules/vln_api_client.py (3)
KartenApiClient.load_feature_collection(Zeile 154) — ungeklärtKartenApiClient._request(Zeile 176) — ungeklärtKartenApiClient._error_detail(Zeile 235) — ungeklärt
modules/vln_api_logic.py (4)
VlnApiLogic.get_p41_layers(Zeile 233) — ungeklärtVlnApiLogic.remove_p41_layers(Zeile 237) — ungeklärtVlnApiLogic._apply_p41_styles(Zeile 277) — ungeklärtVlnApiLogic.upload_summary(Zeile 347) — ungeklärt
modules/vln_layer_manager.py (2)
_family(Zeile 58) — ungeklärtmemory_layer_from_features(Zeile 73) — ungeklärt
ui/dockwidget.py (1)
DockWidget._init_tabs_with_services(Zeile 42) — ungeklärt
ui/tab_a_logic.py (15)
TabALogic._log(Zeile 90) — ungeklärtTabALogic._create_silent_pruefmanager(Zeile 93) — ungeklärtTabALogic._zeige_verfahrensgebiet_hinweis(Zeile 127) — ungeklärtTabALogic._close_progress_dialog(Zeile 139) — ungeklärtTabALogic.write_layer_to_verfahrens_db(Zeile 169) — ungeklärtTabALogic.is_valid_verfahrensgebiet_layer(Zeile 242) — ungeklärtTabALogic._load_dienste_aus_result_dict(Zeile 391) — ungeklärtTabALogic._create_local_layer_from_fetched_features(Zeile 639) — ungeklärtTabALogic._write_html_log(Zeile 779) — ungeklärtTabALogic._clone_layer_with_extent(Zeile 934) — ungeklärtTabALogic._handle_pufferlayer(Zeile 1062) — ungeklärtTabALogic._load_existing_pufferlayer(Zeile 1084) — ungeklärtTabALogic._create_pufferlayer(Zeile 1092) — ungeklärtTabALogic._pufferlayer_exists_in_source(Zeile 1119) — ungeklärtTabALogic.Pufferlayer_erstellen(Zeile 1133) — ungeklärt
ui/tab_a_ui.py (14)
TabA._build_ui(Zeile 113) — ungeklärtTabA._restore_state(Zeile 274) — ungeklärtTabA._restore_vln_state(Zeile 296) — ungeklärtTabA._toggle_vln_group(Zeile 307) — ungeklärtTabA._update_vln_ui_state(Zeile 311) — ungeklärtTabA._populate_verfahren_combo(Zeile 347) — ungeklärtTabA._on_vln_login(Zeile 374) — ungeklärtTabA._on_vln_logout(Zeile 405) — ungeklärtTabA._on_vln_verfahren_changed(Zeile 416) — ungeklärtTabA._on_p41_laden(Zeile 424) — ungeklärtTabA._on_upload_active(Zeile 498) — ungeklärtTabA._create_new_gpkg(Zeile 595) — ungeklärtTabA._update_group_color(Zeile 608) — ungeklärtTabA._on_load_fachdaten(Zeile 618) — ungeklärt