- schnittstellen.md Abschnitt 12: Element-IDs, die print_kartenrand braucht; Seitengröße nur Mindestgröße - fallstricke.md: minimumSize liefert vor dem ersten Zeichnen die ungefilterte Legendenhöhe - modulkarte.md: print_kartenrand, aktualisierte Zeilenzahlen - STATUS.md: Punkt 15 (Stand #88/#90/#92, QGIS 4 geprüft), neuer Punkt 16 - Testkatalog neu erzeugt Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
141 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)
Gesamt: 3 Pakete, 58 Testdateien, 672 Testfälle – 629 grün, 35 rot (Baseline), 8 übersprungen. Mit Beschreibung (Docstring): 527 von 672 (78 %).
Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung |
|---|---|---|---|---|---|---|
sn_basis |
41 | 420 | 420 | 0 | 0 | 420 von 420 (100 %) |
sn_verfahrensgebiet |
12 | 208 | 166 | 34 | 8 | 106 von 208 (51 %) |
sn_plan41 |
5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) |
| Summe | 58 | 672 | 629 | 35 | 8 | 527 von 672 (78 %) |
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.
Paket sn_basis
Plattform-Plugin, Ordner Plugin_SN_Basis – 41 Testdateien mit 420 Testfällen (420 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).
Testgruppen:
CloseEventTests(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
CloseEventTests.test_ruft_cleanup_aller_tabs_auf |
Prüft, dass closeEvent cleanup() auf allen Tabs des Dock-Widgets aufruft. | grün |
CloseEventTests.test_ignoriert_tabs_ohne_cleanup |
Prüft, dass ein Tab ohne cleanup()-Methode nicht zu einem Fehler führt. | grün |
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 |
CloseEventTests.test_setzt_toolbar_action_zurueck |
Prüft, dass closeEvent die verknüpfte Toolbar-Action auf 'nicht gedrückt' zurücksetzt. | grün |
CloseEventTests.test_ohne_action_wird_nichts_zurueckgesetzt |
Prüft, dass closeEvent ohne verknüpfte Toolbar-Action keine Ausnahme wirft. | grün |
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(10 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
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 |
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 |
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 |
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 |
TestBasemapBereich.test_auswertebereich_wird_gespeichert |
Prüft, dass die Wahl des Auswertebereichs in der Projektvariable landet. | grün |
TestBasemapBereich.test_aktualisieren_ohne_vorlage_warnt |
Prüft, dass „Basemap-Legende aktualisieren“ ohne vorhandene Vorlage warnt und nichts auswertet. | grün |
TestBasemapBereich.test_aktualisieren_wertet_gewaehlte_vorlage_aus |
Prüft, dass „Basemap-Legende aktualisieren“ die gewählte Vorlage auswertet und den Erfolg meldet. | grün |
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 |
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 |
TestBasemapBereich.test_vorhandene_vorlage_wird_nur_nach_rueckfrage_ersetzt |
Prüft, dass eine gleichnamige Stilvorlage ohne Bestätigung nicht überschrieben wird. | grün |
TestBasemapBereich.test_speichern_mit_aktueller_legendenauswahl |
Prüft, dass eine neue Stilvorlage zusammen mit der aktuellen Legendenauswahl gespeichert wird. | grün |
TestBasemapBereich.test_punktlinien_korrigieren_meldet_anzahl |
Prüft, dass „Punktlinien korrigieren“ den Basemap-Layer korrigiert und die Anzahl korrigierter Styles meldet. | grün |
TestBasemapBereich.test_punktlinien_ohne_basemap_layer_warnt |
Prüft, dass ohne Basemap-Layer nichts korrigiert, sondern gewarnt wird. | grün |
TestBasemapBereich.test_stil_speichern_ohne_basemap_layer_warnt |
Prüft, dass ohne Basemap-Layer keine Stilvorlage gespeichert, sondern gewarnt wird. | grün |
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 |
|---|---|---|
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 |
TestSammleObjekte.test_kacheln_ausserhalb_der_geometrie_werden_uebersprungen |
Prüft, dass Kacheln ohne Schnitt mit dem Auswertebereich nicht abgefragt werden. | grün |
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 |
TestSammleObjekte.test_anzahl_kacheln_aus_kachelbereich |
Prüft, dass die Kachelzahl aus dem Kachelbereich der Geometrie berechnet wird. | grün |
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 |
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 |
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 |
|---|---|---|
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 |
TestRendererStil.test_ausschluss_ueber_liste_und_praefix |
Prüft, dass Style-IDs über die Ausschlussliste und über Präfixe (Nummernschilder) ausgeschlossen werden. | grün |
TestRendererStil.test_normalisierung_entfernt_variantenkennungen |
Prüft, dass Variantenkennungen wie Kontur, Brücke oder Breitenangaben beim Normalisieren einer Style-ID entfallen. | grün |
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 |
TestErzeugeKatalog.test_zustand_im_bau_wird_eigener_eintrag |
Prüft, dass „im Bau“ einen eigenen Legendeneintrag mit Zustandsangabe in der Bezeichnung bekommt. | grün |
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 |
TestErzeugeKatalog.test_ausgeschlossene_stile_fehlen_im_katalog |
Prüft, dass Hintergrund, Beschriftungen, Nummernschilder und 3D-Gebäude keinem Eintrag zugeordnet werden. | grün |
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 |
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 |
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 |
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 |
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 |
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 |
|---|---|---|
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 |
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 |
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 |
TestStileUndEintraege.test_ausgeschlossene_und_unbekannte_styles |
Prüft, dass ausgeschlossene Styles entfallen und unbekannte Styles als nicht bekannter Eintrag in „Sonstiges“ landen. | grün |
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 |
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 |
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 |
TestAuswahlUndEinstellungen.test_kaputte_projektvariable_ergibt_leere_auswahl |
Prüft, dass eine nicht lesbare Projektvariable als leere Auswahl gilt. | grün |
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 |
TestAuswahlUndEinstellungen.test_legende_erzeugen_standard_an |
Prüft, dass das Erzeugen der Basemap-Legende standardmäßig eingeschaltet ist und abgeschaltet werden kann. | grün |
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 |
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 |
TestAblauf.test_ohne_basemap_layer_passiert_nichts |
Prüft, dass ohne sichtbaren Basemap-Layer weder Dialog noch Legende entstehen. | grün |
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 |
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 |
TestAblauf.test_rueckfall_auf_druckbereich_wird_gemeldet |
Prüft, dass ohne Verfahrensgebiet auf den Druckbereich zurückgefallen und das gemeldet wird. | grün |
TestAblauf.test_ohne_objekte_keine_legende |
Prüft, dass ohne Basemap-Objekte im Auswertebereich weder Dialog noch Legende entstehen. | grün |
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 |
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)TestHilfslayer(3 Testfälle): — (Docstring fehlt)TestPlatzierung(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
TestKennzeichenUndKarte.test_hauptkarte_ueber_id |
Prüft, dass die Karte mit der ID „Hauptkarte“ gefunden wird. | grün |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
|---|---|---|
TestBrauchtLegendenrand.test_weisse_flaeche_ohne_rand |
Prüft, dass eine weiße Fläche ohne Umrandung einen Legendenrand braucht. | grün |
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 |
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 |
TestBrauchtLegendenrand.test_andere_ebenen_und_leeres_symbol |
Prüft, dass Symbole mit anderen Ebenen (Muster, Punkte) und leere Symbole keinen Rand bekommen. | grün |
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 |
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 |
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 |
|---|---|---|
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 |
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 |
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 |
TestLayerkorrektur.test_zweiter_lauf_korrigiert_nichts |
Prüft, dass ein zweiter Lauf keine Styles mehr korrigiert und nicht neu zeichnen lässt. | grün |
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 |
TestLayerkorrektur.test_layer_ohne_renderer |
Prüft, dass ein Layer ohne Renderer 0 korrigierte Styles liefert. | grün |
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)
| Testfall | prüft | Status |
|---|---|---|
TestStilvorlagen.test_speichern_und_auflisten |
Prüft, dass eine gespeicherte Vorlage mit Anzeigenamen, QML-Datei und Begleitdatei aufgelistet wird. | grün |
TestStilvorlagen.test_mehrere_varianten_alphabetisch |
Prüft, dass mehrere Varianten nebeneinander bestehen und alphabetisch nach Anzeigename sortiert werden. | grün |
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 |
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 |
TestStilvorlagen.test_passung_meldet_fremde_styles |
Prüft, dass Style-Namen der Vorlage gemeldet werden, die der Ziel-Layer nicht kennt. | grün |
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 |
TestStilvorlagen.test_fehlende_begleitdatei_wird_toleriert |
Prüft, dass eine QML-Datei ohne Begleitdatei mit ihrem Dateinamen aufgelistet wird. | grün |
TestStilvorlagen.test_ohne_ordner_leere_liste |
Prüft, dass ohne angelegten Vorlagenordner eine leere Liste zurückkommt. | grün |
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 |
|---|---|---|
TestDataGrabber.test_analyze_source_type_detects_excel |
Prüft, dass eine erreichbare .xlsx-Datei als Quelltyp 'excel' erkannt wird. | grün |
TestDataGrabber.test_analyze_source_type_returns_unknown_filetype |
Prüft, dass eine erreichbare Datei mit unbekannter Endung als 'unbekannter_dateityp' eingestuft wird. | grün |
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 |
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 |
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 |
TestDataGrabber.test_run_returns_failure_summary_without_rows |
Prüft, dass run() bei nicht erkennbarer Quelle eine Fehlermeldung ohne Zeilen liefert. | grün |
TestDataGrabber.test_aggregate_results_mit_zeilen_liefert_erfolgsergebnis |
Prüft, dass _aggregate_results bei vorhandenen Zeilen ein Erfolgsergebnis mit Zeilenzahl liefert. | grün |
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 |
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 |
|---|---|---|
TestDateipruefer.test_leereingabe_erlaubt |
Prüft, dass eine leere Pfadangabe bei leereingabe_erlaubt=True als 'leereingabe_erlaubt' ohne Kontext gemeldet wird. | grün |
TestDateipruefer.test_leereingabe_nicht_erlaubt |
Prüft, dass eine leere Pfadangabe ohne leereingabe_erlaubt als 'leereingabe_nicht_erlaubt' abgelehnt wird. | grün |
TestDateipruefer.test_standarddatei_vorschlagen |
Prüft, dass bei leerer Pfadangabe mit gesetzter Standarddatei 'standarddatei_vorschlagen' mit dem Standardpfad als Kontext geliefert wird. | grün |
TestDateipruefer.test_temporaer_erlaubt |
Prüft, dass eine leere Pfadangabe bei temporaer_erlaubt=True als 'temporaer_erlaubt' ohne Kontext gemeldet wird. | grün |
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 |
TestDateipruefer.test_datei_ok |
Prüft, dass ein existierender Dateipfad als 'ok' mit dem Pfad als Kontext bestätigt wird. | grün |
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 |
TestDateipruefer.test_pfad_verbindet_relativen_pfad_mit_basispfad |
Prüft, dass _pfad einen relativen Pfad mit dem Basisverzeichnis verbindet. | grün |
TestDateipruefer.test_pfad_laesst_absoluten_pfad_unveraendert |
Prüft, dass _pfad einen bereits absoluten Pfad nicht mit dem Basisverzeichnis verbindet. | grün |
TestDateipruefer.test_ist_gueltiger_gpkg_pfad_akzeptiert_vorhandenes_verzeichnis |
Prüft, dass ein .gpkg-Pfad mit vorhandenem Zielverzeichnis als gültig gilt. | grün |
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 |
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 |
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 |
TestDateipruefer.test_ist_leer_erkennt_reinen_whitespace_als_leer |
Prüft, dass _ist_leer eine Eingabe aus reinen Leerzeichen als leer meldet. | grün |
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 |
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 |
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 |
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 |
|---|---|---|
DetermineSpatialFilterTests.test_raumfilter_ohne_liefert_none |
Prüft, dass Raumfilter 'ohne' unabhängig vom Layer immer None liefert. | grün |
DetermineSpatialFilterTests.test_fehlender_layer_liefert_none |
Prüft, dass ohne Verfahrensgebiet-Layer kein Raumfilter gebaut wird. | grün |
DetermineSpatialFilterTests.test_unbekannter_raumfilter_liefert_none |
Prüft, dass ein unbekannter Raumfilter-Wert None liefert, statt einen Fehler zu werfen. | grün |
DetermineSpatialFilterTests.test_verfahrensgebiet_liefert_extent_und_crs |
Prüft, dass Raumfilter 'Verfahrensgebiet' Extent und CRS des Verfahrensgebiet-Layers liefert. | grün |
DetermineSpatialFilterTests.test_verfahrensgebiet_ohne_extent_liefert_none |
Prüft, dass ein Verfahrensgebiet-Layer ohne ermittelbaren Extent None liefert. | grün |
DetermineSpatialFilterTests.test_pufferlayer_liefert_extent_des_pufferlayers |
Prüft, dass Raumfilter 'Pufferlayer' Extent und CRS des erzeugten Pufferlayers liefert. | grün |
DetermineSpatialFilterTests.test_pufferlayer_ohne_puffer_liefert_none |
Prüft, dass 'Pufferlayer' None liefert, wenn kein Pufferlayer erzeugt werden konnte. | grün |
BuildProviderUrlTests.test_wms_liefert_link_unveraendert |
Prüft, dass bei Provider WMS der Link unverändert durchgereicht wird, auch mit Raumfilter. | grün |
BuildProviderUrlTests.test_url_praefix_wird_entfernt |
Prüft, dass ein vorangestelltes 'url=' aus dem Link entfernt wird. | grün |
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 |
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 |
BuildProviderUrlTests.test_wfs_ohne_raumfilter_setzt_keine_bbox |
Prüft, dass WFS ohne Raumfilter (bbox_geom=None) keinen BBOX-Parameter setzt. | grün |
BuildProviderUrlTests.test_rest_provider_haengt_query_endpunkt_an |
Prüft, dass REST/ArcGIS-Links ohne '/query'-Endpunkt automatisch ergänzt werden. | grün |
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 |
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 |
BuildProviderUrlTests.test_default_provider_ohne_raumfilter_laesst_query_unveraendert |
Prüft, dass ein unbekannter Provider ohne Raumfilter keinen bbox-Parameter ergänzt. | grün |
FetchFeaturesTests.test_wms_liefert_keine_features_ohne_fehler |
Prüft, dass bei Provider WMS kein Featureabruf stattfindet und kein Fehler gemeldet wird. | grün |
FetchFeaturesTests.test_abbruch_vor_abruf_liefert_fehlermeldung |
Prüft, dass ein bereits gesetzter Abbruch vor dem eigentlichen Abruf erkannt wird. | grün |
FetchFeaturesTests.test_json_featurecollection_wird_geparst |
Prüft, dass eine JSON-FeatureCollection-Antwort in eine Feature-Liste umgewandelt wird. | grün |
FetchFeaturesTests.test_netzwerkfehler_wird_als_fehlermeldung_gemeldet |
Prüft, dass ein fehlgeschlagener HTTP-Abruf eine Fehlermeldung statt einer Ausnahme liefert. | grün |
FetchFeaturesTests.test_wfs_xml_liefert_anzahl_aus_numberofmatched |
Prüft, dass eine WFS-XML-Antwort ohne JSON die Trefferzahl aus numberOfMatched übernimmt. | grün |
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 |
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 |
DatenabrufOrchestrierungTests.test_abbruch_ueber_progress_stoppt_weitere_zeilen |
Prüft, dass ein Abbruch über das Progress-Objekt die Verarbeitung weiterer Zeilen stoppt. | grün |
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 |
|---|---|---|
WriteLayerToGpkgTests.test_ungueltiger_layer_liefert_fehlermeldung |
Prüft, dass ein ungültiger Layer eine Fehlermeldung statt eines Absturzes liefert. | grün |
WriteLayerToGpkgTests.test_gueltiger_layer_wird_ohne_fehler_geschrieben |
Prüft, dass ein gültiger Layer im Mock-Modus ohne Fehlermeldung geschrieben wird. | grün |
ResolveStylePathTests.test_leerer_stilpfad_liefert_none |
Prüft, dass ein leerer oder fehlender Stilpfad None liefert. | grün |
ResolveStylePathTests.test_absoluter_vorhandener_stilpfad_wird_aufgeloest |
Prüft, dass ein absoluter, vorhandener Stilpfad normalisiert und unverändert erkannt wird. | grün |
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 |
SchreibeDatenTests.test_ohne_speicherort_wirft_valueerror |
Prüft, dass schreibe_Daten ohne Speicherort einen ValueError wirft. | grün |
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 |
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 |
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 |
LadeLayerTests.test_ohne_layer_path_wird_uebersprungen |
Prüft, dass ein Eintrag ohne layer_path übersprungen wird, ohne einen Fehler zu melden. | grün |
LadeLayerTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt |
Prüft, dass ein gültig ladbarer Layer ohne Fehlermeldung verarbeitet wird. | grün |
LadeLayerTests.test_ungueltiger_layer_meldet_layer_nicht_gefunden |
Prüft, dass ein ungültig ladbarer Layer als 'layer_nicht_gefunden' gemeldet wird. | grün |
SchreibeLogTests.test_ohne_speicherort_wirft_valueerror |
Prüft, dass schreibe_log ohne Speicherort einen ValueError wirft. | grün |
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 |
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 |
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 |
StoreStyleInGpkgTests.test_liest_geometriespalte_ueber_geometrycolumn_aus |
Prüft, dass _store_style_in_gpkg die Geometriespalte eines Layers mit geometryColumn() übernimmt. | grün |
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 |
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 |
|---|---|---|
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 |
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 |
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 |
DockManagerShowTests.test_zeigt_neues_dock_mit_default_area_an |
Prüft, dass ein neues Dock mit der Standard-Area (DockAreaRight) angezeigt wird. | grün |
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 |
DockManagerShowTests.test_fehler_beim_anzeigen_wird_gemeldet |
Prüft, dass ein Fehler beim Anzeigen des Docks als Fehler gemeldet wird. | grün |
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 |
|---|---|---|
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 |
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 |
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 |
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 |
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 |
ExcelImporterKonstruktorTests.test_ohne_dateipfad_wirft_valueerror |
Prüft, dass ExcelImporter ohne Dateipfad einen ValueError wirft. | grün |
ExcelImporterKonstruktorTests.test_ohne_pruefmanager_wirft_valueerror |
Prüft, dass ExcelImporter ohne Pruefmanager einen ValueError wirft. | grün |
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 |
|---|---|---|
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 |
TestGetLaenderkennung.test_praefix_gross_klein_unabhaengig |
Prüft, dass die Präfixsuche groß-/kleinschreibungsunabhängig ist. | grün |
TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror |
Prüft, dass ein unbekannter Präfix einen KeyError auslöst. | grün |
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 |
TestGetLaenderkennung.test_mapping_enthaelt_sachsen |
Prüft, dass die Mapping-Tabelle LAENDERKENNUNGEN einen Eintrag für Sachsen ('sn' -> '14') enthält. | grün |
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(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
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 |
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(7 Testfälle): — (Docstring fehlt)TransformGeometryTests(3 Testfälle): — (Docstring fehlt)TransformExtentTests(2 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 |
|---|---|---|
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 |
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 |
CreateLayerTests.test_wms_baut_url_praefix_und_nutzt_rasterlayer |
Prüft, dass WMS-Layer über QgsRasterLayer mit 'url='-Präfix erzeugt werden. | grün |
CreateLayerTests.test_rest_featureserver_ergaenzt_layer_index |
Prüft, dass ein REST-Link auf '.../FeatureServer' automatisch um '/0' ergänzt wird. | grün |
CreateLayerTests.test_ogr_provider_nutzt_link_direkt |
Prüft, dass ein OGR-Provider den Link unverändert an QgsVectorLayer übergibt. | grün |
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 |
CreateLayerTests.test_ausnahme_beim_erstellen_wird_abgefangen |
Prüft, dass eine Ausnahme beim Layer-Erstellen abgefangen und als Fehlerergebnis gemeldet wird. | grün |
TransformGeometryTests.test_fehlender_layer_liefert_geometrie_unveraendert |
Prüft, dass ohne Quell- oder Ziel-Layer die Geometrie unverändert zurückgegeben wird. | grün |
TransformGeometryTests.test_gleiche_crs_liefert_geometrie_unveraendert |
Prüft, dass bei identischem CRS von Quelle und Ziel keine Transformation stattfindet. | grün |
TransformGeometryTests.test_unterschiedliche_crs_klont_und_transformiert_geometrie |
Prüft, dass bei unterschiedlichem CRS eine geklonte, transformierte Geometrie geliefert wird. | grün |
TransformExtentTests.test_gleiche_crs_liefert_extent_unveraendert |
Prüft, dass bei identischem CRS von Quelle und Ziel der Extent unverändert bleibt. | grün |
TransformExtentTests.test_unterschiedliche_crs_nutzt_coordinate_transform |
Prüft, dass bei unterschiedlichem CRS der Extent über QgsCoordinateTransform umgerechnet wird. | grün |
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 |
FilterByExtentTests.test_ohne_extent_wird_layer_unveraendert_zurueckgegeben |
Prüft, dass ohne Extent (None) der Layer unverändert zurückgegeben wird. | grün |
FilterByExtentTests.test_falscher_layertyp_wird_unveraendert_zurueckgegeben |
Prüft, dass ein Nicht-Vektor-Layer (z. B. Rasterlayer) unverändert zurückgegeben wird. | grün |
FilterByExtentTests.test_keine_treffer_liefert_none |
Prüft, dass ein Raumfilter ohne Treffer None statt eines leeren Layers liefert. | grün |
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 |
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 |
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 |
FilterByLayerTests.test_filterlayer_ohne_features_liefert_none |
Prüft, dass ein Filter-Layer ohne Features (leere Vereinigungsgeometrie) None liefert. | grün |
FilterByLayerTests.test_erfolgreicher_geometriefilter_liefert_neuen_layer |
Prüft, dass ein erfolgreicher Geometriefilter einen neuen Speicherlayer mit den passenden Features liefert. | grün |
FilterByLayerTests.test_keine_ueberschneidung_liefert_none |
Prüft, dass ohne überschneidende Features None statt eines leeren Layers geliefert wird. | grün |
AddToProjectTests.test_gueltiger_layer_wird_dem_projekt_hinzugefuegt |
Prüft, dass ein gültiger Layer über QgsProject.instance().addMapLayer hinzugefügt wird. | grün |
AddToProjectTests.test_ungueltiger_layer_wird_nicht_hinzugefuegt |
Prüft, dass ein ungültiger Layer nicht ans Projekt übergeben wird. | grün |
AddToProjectTests.test_none_layer_wird_nicht_hinzugefuegt |
Prüft, dass ein fehlender Layer (None) nicht ans Projekt übergeben wird. | grün |
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 |
|---|---|---|
TestLayerpruefer.test_layer_exists |
Prüft, dass ein nicht vorhandener Layer als 'layer_nicht_gefunden' abgelehnt wird. | grün |
TestLayerpruefer.test_layer_unsichtbar |
Prüft, dass ein unsichtbarer Layer bei geforderter Sichtbarkeit als 'layer_unsichtbar' abgelehnt wird. | grün |
TestLayerpruefer.test_falscher_layertyp |
Prüft, dass ein Layer mit abweichendem Layertyp (Raster statt Vektor) als 'falscher_layertyp' abgelehnt wird. | grün |
TestLayerpruefer.test_falscher_geotyp |
Prüft, dass ein Layer mit abweichendem Geometrietyp (Punkt statt Polygon) als 'falscher_geotyp' abgelehnt wird. | grün |
TestLayerpruefer.test_layer_leer |
Prüft, dass ein Layer ohne Features als 'layer_leer' abgelehnt wird. | grün |
TestLayerpruefer.test_falsches_crs |
Prüft, dass ein Layer mit abweichendem Koordinatenbezugssystem als 'falsches_crs' abgelehnt wird. | grün |
TestLayerpruefer.test_felder_fehlen |
Prüft, dass ein Layer mit fehlenden Pflichtfeldern als 'felder_fehlen' abgelehnt wird. | grün |
TestLayerpruefer.test_datenquelle_unerwartet |
Prüft, dass eine Datenquelle außerhalb der erlaubten Liste als 'datenquelle_unerwartet' abgelehnt wird. | grün |
TestLayerpruefer.test_layer_nicht_editierbar |
Prüft, dass ein nicht editierbarer Layer bei geforderter Editierbarkeit als 'layer_nicht_editierbar' abgelehnt wird. | grün |
TestLayerpruefer.test_layer_ok |
Prüft, dass ein Layer, der alle Anforderungen erfüllt, als 'ok' bestätigt wird. | grün |
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 |
|---|---|---|
TestLinkpruefer.test_leere_eingabe |
Prüft, dass eine leere Eingabe ohne Netzwerk-/Dateizugriff als 'leer' abgelehnt wird. | grün |
TestLinkpruefer.test_remote_link_ok |
Prüft, dass eine erreichbare Remote-URL (HTTP HEAD ohne Fehler) als 'ok' bestätigt wird. | grün |
TestLinkpruefer.test_remote_link_error |
Prüft, dass eine Remote-URL mit Fehlerantwort als 'url_nicht_erreichbar' abgelehnt wird. | grün |
TestLinkpruefer.test_remote_link_network_error |
Prüft, dass eine ausbleibende Netzwerkantwort (None) als 'netzwerkfehler' gemeldet wird. | grün |
TestLinkpruefer.test_local_link_not_found |
Prüft, dass ein nicht existierender lokaler Pfad als 'pfad_nicht_gefunden' abgelehnt wird. | grün |
TestLinkpruefer.test_local_link_ok |
Prüft, dass ein existierender lokaler Pfad als 'ok' bestätigt wird. | grün |
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_is_valid/layer_is_usable (Issue #65).
Testgruppen:
LayerIsValidTests(5 Testfälle): — (Docstring fehlt)LayerIsUsableTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
LayerIsValidTests.test_none_ist_nicht_gueltig |
Prüft, dass layer_is_valid für None False liefert. | grün |
LayerIsValidTests.test_objekt_ohne_isvalid_ist_nicht_gueltig |
Prüft, dass ein Objekt ohne isValid()-Methode als ungültig gilt. | grün |
LayerIsValidTests.test_gueltiger_layer_liefert_true |
Prüft, dass ein Layer mit isValid()==True als gültig erkannt wird. | grün |
LayerIsValidTests.test_ungueltiger_layer_liefert_false |
Prüft, dass ein Layer mit isValid()==False als ungültig erkannt wird. | grün |
LayerIsValidTests.test_ausnahme_bei_isvalid_liefert_false |
Prüft, dass eine Ausnahme in isValid() abgefangen wird und False liefert. | grün |
LayerIsUsableTests.test_none_ist_nicht_nutzbar |
Prüft, dass layer_is_usable für None False liefert. | grün |
LayerIsUsableTests.test_gueltiger_layer_ist_nutzbar |
Prüft, dass ein vorhandener, gültiger Layer als nutzbar gilt. | grün |
LayerIsUsableTests.test_ungueltiger_layer_ist_nicht_nutzbar |
Prüft, dass ein vorhandener, aber ungültiger Layer als nicht nutzbar gilt. | grün |
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(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
ApplyStyleFromPathTests.test_fehlender_layer_liefert_false |
Prüft, dass ein fehlender Layer (None) False liefert, ohne einen Stil zu laden. | grün |
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 |
ApplyStyleFromPathTests.test_fehlgeschlagenes_laden_liefert_false_ohne_repaint |
Prüft, dass ein fehlgeschlagenes Laden False liefert, ohne den Layer neu zu zeichnen. | grün |
ApplyStyleFromPathTests.test_ausnahme_beim_laden_wird_abgefangen |
Prüft, dass eine Ausnahme beim Laden des Stils abgefangen wird und False liefert. | grün |
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)
| Testfall | prüft | Status |
|---|---|---|
GetMessageBarTests.test_liefert_objekt_mit_pushmessage_methode |
Prüft, dass _get_message_bar ein Objekt mit aufrufbarer pushMessage()-Methode liefert. | grün |
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 |
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 |
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 |
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(2 Testfälle): — (Docstring fehlt)FinalizeMenuAndToolbarTests(2 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 |
|---|---|---|
AddActionTests.test_ohne_plugin_group_liefert_none |
Prüft, dass add_action ohne initialisierte Aktionsgruppe None liefert und nichts anlegt. | grün |
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 |
FinalizeMenuAndToolbarTests.test_ohne_menu_oder_toolbar_tut_nichts |
Prüft, dass finalize_menu_and_toolbar ohne Menü oder Toolbar keine Ausnahme wirft. | grün |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
|---|---|---|
IsCaseSensitiveFsTests.test_windows_ist_nicht_case_sensitiv |
Prüft, dass Windows als nicht case-sensitives Dateisystem gilt. | grün |
IsCaseSensitiveFsTests.test_macos_ist_nicht_case_sensitiv |
Prüft, dass macOS als nicht case-sensitives Dateisystem gilt. | grün |
IsCaseSensitiveFsTests.test_linux_ist_case_sensitiv |
Prüft, dass Linux als case-sensitives Dateisystem gilt. | grün |
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(3 Testfälle): — (Docstring fehlt)TestAnbindungPrintLayout(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
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 |
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 |
TestBerechneAnordnung.test_seite_wird_nie_kleiner |
Prüft, dass Seitenbreite und -höhe nie unter die ursprüngliche Seitengröße fallen. | grün |
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 |
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 |
TestOrdneKartenrandAn.test_passt_nichts_wird_verschoben |
Prüft, dass bei ausreichend hoher Karte weder Seite noch Kartenschild verändert werden. | grün |
TestOrdneKartenrandAn.test_ohne_karte_keine_anordnung |
Prüft, dass ein Layout ohne Hauptkarte unverändert bleibt. | grün |
TestAnbindungPrintLayout.test_vorlage_ordnet_kartenrand_an |
Prüft, dass PrintLayout beim Anlegen einer Vorlage den Kartenrand anordnen lässt. | grün |
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 |
Plugin_SN_Basis/tests/test_print_layout.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPrintLayout(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
TestPrintLayout.test_create_legend_item_does_not_copy_project_layers_into_legend_model |
Prüft, dass eine neu erzeugte Legende keine Projekt-Layer in ihr Legendenmodell übernimmt (leere Root-Gruppe). | grün |
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 |
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 |
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 |
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 |
|---|---|---|
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 |
TestPrintLogic.test_get_baufreigabe_page_dimensions_escalates_to_a3 |
Prüft, dass ein größerer Kartenausschnitt (Baufreigabe) auf DIN A3 eskaliert wird. | grün |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
TestPrintLogic.test_set_druckbereich_accepts_wie_kartenfenster |
Prüft, dass die Auswahl 'wie Kartenfenster' als Projektvariable 'druckbereich' gespeichert wird. | grün |
TestPrintLogic.test_get_canvas_extent_returns_valid_extent |
Prüft, dass der aktuelle Kartenausschnitt des Kartenfensters unverändert zurückgegeben wird. | grün |
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 |
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 |
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 |
|---|---|---|
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 |
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 |
RestoreStateTests.test_gueltige_gespeicherte_werte_werden_uebernommen |
Prüft, dass _restore_state gültige gespeicherte Werte in die jeweiligen Widgets übernimmt. | grün |
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 |
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 |
OnDruckpufferClickedTests.test_abgebrochen_aendert_nichts |
Prüft, dass ein abgebrochener Dialog den Druckpuffer nicht verändert. | grün |
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 |
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 |
OnVorlageErstellenTests.test_ohne_logic_tut_nichts |
Prüft, dass _on_vorlage_erstellen ohne gesetzte PrintLogic keine Ausnahme wirft. | grün |
ProjectSignalsTests.test_connect_verbindet_alle_drei_signale |
Prüft, dass _connect_project_signals alle drei Projektsignale mit _on_project_changed verbindet. | grün |
ProjectSignalsTests.test_disconnect_trennt_alle_drei_signale |
Prüft, dass _disconnect_project_signals alle drei zuvor verbundenen Projektsignale trennt. | grün |
ProjectSignalsTests.test_instance_wirft_ausnahme_wird_abgefangen |
Prüft, dass eine Ausnahme bei QgsProject.instance() in beiden Signalmethoden abgefangen wird. | grün |
CleanupTests.test_ruft_beide_disconnect_methoden_auf |
Prüft, dass cleanup sowohl die Theme- als auch die Projektsignale trennt. | grün |
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 |
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 |
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 |
RestoreAtlasLayerSelectionTests.test_leere_gespeicherte_layer_id_tut_nichts |
Prüft, dass eine leere gespeicherte Layer-ID das Projekt gar nicht erst anfragt. | grün |
ThemeCollectionSignalsTests.test_connect_verbindet_alle_signale |
Prüft, dass _connect_theme_collection_signals alle Signale der Theme-Collection verbindet. | grün |
ThemeCollectionSignalsTests.test_connect_ist_idempotent_wenn_schon_verbunden |
Prüft, dass _connect_theme_collection_signals bei bereits verbundenem Signal nichts erneut tut. | grün |
ThemeCollectionSignalsTests.test_disconnect_trennt_alle_signale |
Prüft, dass _disconnect_theme_collection_signals alle verbundenen Theme-Signale trennt und zurücksetzt. | grün |
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 |
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 |
GetGespeicherteThemenTests.test_dedupliziert_und_filtert_leere_eintraege |
Prüft, dass _get_gespeicherte_themen Duplikate und leere/None-Einträge entfernt. | grün |
GetGespeicherteThemenTests.test_fehler_liefert_leere_liste |
Prüft, dass ein Fehler beim Zugriff auf die Theme-Collection eine leere Liste liefert. | grün |
GetCurrentCanvasScaleTests.test_liefert_skalierung_als_float |
Prüft, dass _get_current_canvas_scale die Canvas-Skalierung als float liefert. | grün |
GetCurrentCanvasScaleTests.test_ohne_canvas_liefert_none |
Prüft, dass _get_current_canvas_scale ohne verfügbares Kartenfenster None liefert. | grün |
GetCurrentCanvasScaleTests.test_skalierung_null_liefert_none |
Prüft, dass eine Skalierung von 0 als None statt als 0.0 gilt. | grün |
OnAtlasLayerChangedTests.test_none_oder_leer_setzt_variable_leer |
Prüft, dass None oder ein leerer Wert die Abdeckungslayer-Variable leeren. | grün |
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 |
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 |
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 |
OnAuswahlAsAtlasClickedTests.test_ohne_erzeugten_layer_tut_nichts_weiter |
Prüft, dass ohne erzeugten Atlas-Layer keine UI-Aktualisierung stattfindet. | grün |
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 |
PopulateAtlasLayerComboTests.test_ohne_atlas_layer_combo_tut_nichts |
Prüft, dass _populate_atlas_layer_combo ohne Atlas-Dropdown keine Ausnahme wirft. | grün |
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 |
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 |
OnAtlasErzeugenChangedTests.test_ohne_widgets_wirft_keine_ausnahme |
Prüft, dass _on_atlas_erzeugen_changed ohne Atlas-Combo/-Button keine Ausnahme wirft. | grün |
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 |
|---|---|---|
IstVerfahrensDbAktionTests.test_liefert_true_fuer_alle_verfahrens_db_aktionen |
Prüft, dass ist_verfahrens_db_aktion für alle vier Verfahrens-DB-Aktionscodes True liefert. | grün |
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 |
ErlaubtePersistierungTests.test_liefert_true_fuer_erzeugen_ueberschreiben_anhaengen |
Prüft, dass erlaubte_persistierung für Erzeugen/Überschreiben/Anhängen True liefert. | grün |
ErlaubtePersistierungTests.test_liefert_false_fuer_ueberspringen_und_reines_existieren |
Prüft, dass erlaubte_persistierung bei Überspringen und reinem 'datei_existiert' False liefert. | grün |
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 |
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 |
Plugin_SN_Basis/tests/test_pruefmanager.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestPruefmanager(26 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
TestPruefmanager.test_ok |
Prüft, dass ein bereits erfolgreiches Prüfergebnis ohne Nutzerinteraktion als 'ok' durchgereicht wird. | grün |
TestPruefmanager.test_leereingabe_erlaubt_ja |
Prüft, dass bei erlaubter leerer Eingabe eine Ja-Antwort des Nutzers die Entscheidung 'ok' liefert. | grün |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
TestPruefmanager.test_unbekannte_aktion |
Prüft, dass eine unbekannte Aktion eine Warnung auslöst und unverarbeitet als Fehlschlag zurückgegeben wird. | grün |
TestPruefmanager.test_datei_existiert_overwrite |
Prüft, dass die Nutzerwahl 'überschreiben' bei bestehender Datei zur Aktion 'datei_existiert_ueberschreiben' führt. | grün |
TestPruefmanager.test_datei_existiert_append |
Prüft, dass die Nutzerwahl 'anhängen' bei bestehender Datei zur Aktion 'datei_existiert_anhaengen' führt. | grün |
TestPruefmanager.test_datei_existiert_cancel |
Prüft, dass die Nutzerwahl 'abbrechen' bei bestehender Datei zur Aktion 'datei_existiert_ueberspringen' führt. | grün |
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 |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ergaenzen |
Prüft, dass die Nutzerwahl 'ergänzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ergaenzen' führt. | grün |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_abbrechen |
Prüft, dass die Nutzerwahl 'abbrechen' bei bestehendem Verfahrensgebiet ok=False mit Aktion 'verfahrensgebiet_abbrechen' liefert. | grün |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_entfernen |
Prüft, dass die Nutzerwahl 'entfernen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_entfernen' führt. | grün |
TestPruefmanager.test_verfahrensgebiet_layer_existiert_ersetzen |
Prüft, dass die Nutzerwahl 'ersetzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ersetzen' führt. | grün |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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(7 Testfälle): — (Docstring fehlt)LayerExistsInGpkgTests(4 Testfälle): — (Docstring fehlt)CreateBufferLayerTests(3 Testfälle): Deckt nur die Wächter ab: die eigentliche Pufferbildung importiertqgis.core.QgsFeature
| Testfall | prüft | Status |
|---|---|---|
PolygonZuLinieTests.test_none_liefert_none |
Prüft, dass polygon_zu_linie für None-Eingabe None liefert. | grün |
PolygonZuLinieTests.test_leere_geometrie_liefert_none |
Prüft, dass eine leere Geometrie None liefert. | grün |
PolygonZuLinieTests.test_stufe1_nutzt_boundary_wenn_vorhanden |
Prüft, dass eine Geometrie mit boundary() (QGIS 3.x-Pfad) deren Ergebnis direkt liefert. | grün |
PolygonZuLinieTests.test_stufe2_extrahiert_ringe_bei_einfachem_polygon |
Prüft, dass ohne boundary() die Ringe eines einfachen Polygons manuell extrahiert werden. | grün |
PolygonZuLinieTests.test_stufe2_extrahiert_alle_ringe_bei_multipolygon |
Prüft, dass bei einem MultiPolygon die Ringe aller Teilpolygone extrahiert werden. | grün |
PolygonZuLinieTests.test_stufe3_fallback_wenn_keine_ringe_extrahierbar |
Prüft, dass bei fehlgeschlagener Ringextraktion auf convertToType zurückgefallen wird. | grün |
PolygonZuLinieTests.test_alle_stufen_scheitern_liefert_none |
Prüft, dass polygon_zu_linie None liefert, wenn Ringextraktion und convertToType beide scheitern. | grün |
LayerExistsInGpkgTests.test_fehlende_datei_liefert_false |
Prüft, dass eine nicht vorhandene GPKG-Datei False liefert. | grün |
LayerExistsInGpkgTests.test_leerer_pfad_oder_layername_liefert_false |
Prüft, dass ein leerer Pfad oder Layername False liefert. | grün |
LayerExistsInGpkgTests.test_vorhandener_layer_liefert_true |
Prüft, dass ein in gpkg_contents eingetragener Layername als vorhanden erkannt wird. | grün |
LayerExistsInGpkgTests.test_fehlender_layer_liefert_false |
Prüft, dass ein nicht in gpkg_contents eingetragener Layername als nicht vorhanden gilt. | grün |
CreateBufferLayerTests.test_ohne_qgis_liefert_none |
Prüft, dass create_buffer_layer ohne verfügbares QGIS None liefert. | grün |
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 |
CreateBufferLayerTests.test_source_layer_ohne_getfeatures_liefert_none |
Prüft, dass ein Quelllayer ohne getFeatures()-Methode None liefert. | grün |
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(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
AddLayerToProjectTests.test_none_layer_liefert_false |
Prüft, dass add_layer_to_project für einen fehlenden Layer (None) False liefert. | grün |
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 |
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 |
AddLayerToProjectTests.test_mit_qgis_fehler_liefert_false |
Prüft, dass ein Fehler beim Hinzufügen zum Projekt abgefangen wird und False liefert. | grün |
FindDockWidgetsTests.test_ohne_main_window_liefert_leere_liste |
Prüft, dass find_dock_widgets ohne verfügbares Hauptfenster eine leere Liste liefert. | grün |
FindDockWidgetsTests.test_liefert_dock_widgets_des_main_window |
Prüft, dass find_dock_widgets die vom Hauptfenster gefundenen Dock-Widgets durchreicht. | grün |
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 |
AddRemoveMenuTests.test_add_menu_ohne_main_window_tut_nichts |
Prüft, dass add_menu ohne Hauptfenster keine Ausnahme wirft. | grün |
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 |
AddRemoveMenuTests.test_add_menu_ohne_menuaction_wird_ignoriert |
Prüft, dass ein Objekt ohne menuAction nicht an die Menüleiste übergeben wird. | grün |
AddRemoveMenuTests.test_remove_menu_entfernt_ueber_menuaction |
Prüft, dass remove_menu das Menü über dessen menuAction() aus der Menüleiste entfernt. | grün |
AddRemoveMenuTests.test_remove_menu_ohne_main_window_tut_nichts |
Prüft, dass remove_menu ohne Hauptfenster keine Ausnahme wirft. | grün |
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 |
|---|---|---|
TestSettingsLogic.test_load |
Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest. | grün |
TestSettingsLogic.test_save |
Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert. | grün |
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 |
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 |
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(2 Testfälle): — (Docstring fehlt)LoadDataTests(4 Testfälle): — (Docstring fehlt)BuildInputTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
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 |
LoadDataTests.test_befuellt_textfelder_aus_gespeicherten_daten |
Prüft, dass load_data ein Textfeld mit dem gespeicherten Wert befüllt. | grün |
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 |
LoadDataTests.test_waehlt_combobox_eintrag_bei_bekanntem_namen |
Prüft, dass load_data im Landkreis-Dropdown den gespeicherten Landkreisnamen auswählt. | grün |
LoadDataTests.test_unbekannter_gespeicherter_name_waehlt_ersten_eintrag |
Prüft, dass load_data bei einem nicht mehr vorhandenen Landkreisnamen auf den ersten Eintrag zurückfällt. | grün |
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 |
BuildInputTests.test_anderes_feld_liefert_lineedit |
Prüft, dass _build_input für ein normales Feld ein leeres Textfeld liefert. | grün |
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 |
|---|---|---|
TestStilpruefer.test_keine_datei_angegeben |
Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional). | grün |
TestStilpruefer.test_datei_existiert_mit_qml |
Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird. | grün |
TestStilpruefer.test_datei_existiert_falsche_endung |
Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird. | grün |
TestStilpruefer.test_datei_existiert_nicht |
Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird. | grün |
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)EnsureDirTests(2 Testfälle): — (Docstring fehlt)GetattrSafeTests(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
JoinPathTests.test_verbindet_mehrere_pfadbestandteile |
Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt. | grün |
EnsureDirTests.test_legt_fehlendes_verzeichnis_inklusive_eltern_an |
Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt. | grün |
EnsureDirTests.test_vorhandenes_verzeichnis_wirft_keinen_fehler |
Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft. | grün |
GetattrSafeTests.test_liefert_vorhandenes_attribut |
Prüft, dass getattr_safe ein vorhandenes Attribut liefert. | grün |
GetattrSafeTests.test_liefert_default_bei_fehlendem_attribut |
Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert. | grün |
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 |
|---|---|---|
TestSanitizeBezeichner.test_umlaute_bleiben_erhalten |
Prüft, dass Umlaute und ß nicht durch den Ersatz entfernt werden. | grün |
TestSanitizeBezeichner.test_bindestrich_bleibt_erhalten |
Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42). | grün |
TestSanitizeBezeichner.test_unterstrich_bleibt_erhalten |
Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt. | grün |
TestSanitizeBezeichner.test_leerzeichen_wird_durch_ersatz_zusammengefasst |
Prüft, dass Leerzeichen (kein zulässiges Zeichen) zu einem Ersatzzeichen werden. | grün |
TestSanitizeBezeichner.test_fuehrender_und_folgender_ersatz_wird_entfernt |
Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird. | grün |
TestSanitizeBezeichner.test_eigenes_ersatzzeichen_wird_verwendet |
Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird. | grün |
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 |
Plugin_SN_Basis/tests/test_variable_wrapper.py
Worum es in der Datei geht: — (Docstring fehlt)
Testgruppen:
TestVariableWrapper(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
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 |
TestVariableWrapper.test_set_variable_global_writes_prefixed_name |
Prüft, dass set_variable() im globalen Scope den Variablennamen mit 'sn_' vorangestellt schreibt. | grün |
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 liefert. | grün |
TestVariableWrapper.test_get_variable_invalid_scope_raises |
Prüft, dass get_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. | grün |
TestVariableWrapper.test_set_variable_invalid_scope_raises |
Prüft, dass set_variable() bei einem unbekannten Scope-Namen einen ValueError auslöst. | grün |
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(5 Testfälle): — (Docstring fehlt)ListenerSetupTests(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
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 |
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 |
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 |
TestVerfahrensgebietManager.test_update_with_layer_writes_variable |
Prüft, dass ein gefundener Verfahrensgebiet-Layer seine ID als Projektvariable speichert. | grün |
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 |
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 |
OnHandlerTests.test_on_layers_added_findet_neuen_layer |
Prüft, dass _on_layers_added nach neu hinzugefügten Layern sucht und die Variable aktualisiert. | grün |
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 |
OnHandlerTests.test_on_layer_removed_bei_anderem_layer_aendert_nichts |
Prüft, dass das Entfernen eines anderen Layers keine Neusuche auslöst. | grün |
ListenerSetupTests.test_setup_ohne_qgis_tut_nichts |
Prüft, dass setup_verfahrensgebiet_listener ohne QGIS keine Signale registriert. | grün |
ListenerSetupTests.test_setup_verbindet_signale_und_ist_idempotent |
Prüft, dass setup_verfahrensgebiet_listener die Projektsignale verbindet und ein zweiter Aufruf nichts doppelt registriert. | grün |
ListenerSetupTests.test_teardown_trennt_alle_signale_und_ist_idempotent |
Prüft, dass teardown_verfahrensgebiet_listener alle Signale trennt und mehrfacher Aufruf nicht fehlschlägt. | grün |
Paket sn_verfahrensgebiet
Fachplugin, Ordner Plugin_SN_Verfahrensgebiet – 12 Testdateien mit 208 Testfällen (166 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 |
|---|---|---|
TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullen |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichen |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichen |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_ungueltiges_format_gibt_none |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_leerer_wert_gibt_none |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_a |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_b |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_z |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuellt |
— (Docstring fehlt) | grün |
TestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_liste |
— (Docstring fehlt) | grün |
TestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahl |
— (Docstring fehlt) | grün |
TestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layer |
— (Docstring fehlt) | grün |
TestHoleVerfahrensgebietLayer.test_kein_layer_gibt_none |
— (Docstring fehlt) | grün |
TestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichen |
— (Docstring fehlt) | grün |
TestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummer |
— (Docstring fehlt) | grün |
TestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_an |
— (Docstring fehlt) | grün |
TestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_an |
— (Docstring fehlt) | grün |
TestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_an |
— (Docstring fehlt) | grün |
TestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_none |
— (Docstring fehlt) | grün |
TestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehler |
— (Docstring fehlt) | grün |
TestLadeBeteiligungCsv.test_leere_datei_wirft_fehler |
— (Docstring fehlt) | grün |
TestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck |
— (Docstring fehlt) | grün |
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 |
|---|---|---|
TestDockWidget.test_init_tabs_with_services_injects_available_services |
— (Docstring fehlt) | grün |
TestDockWidget.test_init_tabs_with_services_reports_errors |
— (Docstring fehlt) | grün |
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 |
|---|---|---|
TestFlurstueckAlkis.test_user_cancel_returns_none |
Prüft, dass ein Abbruch im Eingabedialog (ok=False) (None, LoadStatus.NONE) liefert. | grün |
TestFlurstueckAlkis.test_empty_text_after_confirmation_returns_none |
Prüft, dass ein bestätigter, aber leerer Eingabetext ebenfalls (None, LoadStatus.NONE) liefert. | grün |
TestFlurstueckAlkis.test_invalid_wfs_layer_returns_none |
Prüft, dass ein ungültiger WFS-Layer (None, LoadStatus.NONE) liefert. | grün |
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) |
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) |
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) |
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 |
TestFlurstueckAlkis.test_vorgabe_schluessel_prefills_default_text |
Prüft, dass vorgabe_schluessel als vorbelegter default_text im Eingabedialog erscheint. | rot (Baseline) |
TestFlurstueckAlkis.test_vorgabe_namen_appears_in_label |
Prüft, dass vorgabe_namen im Beschriftungstext des Eingabedialogs erscheint. | rot (Baseline) |
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) |
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 |
TestFlurstueckAlkisAnhaengenDedup.test_append_ueberspringt_bereits_vorhandene_flurstuecke |
Prüft, dass beim Anhängen bereits vorhandene flurstueckskennzeichen nicht erneut hinzugefügt werden. | grün |
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 |
TestFlurstueckAlkisAnhaengenDedup.test_ohne_schluessel_abfrage_append_dedup |
ohne_schluessel_abfrage=True: Anhängen dedupliziert trotzdem, ohne nach Schlüsseln zu fragen (#47). | grün |
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 |
|---|---|---|
TestExtractSchluesselUndName.test_standard_attribute |
— (Docstring fehlt) | rot (Baseline) |
TestExtractSchluesselUndName.test_fallback_attribute |
— (Docstring fehlt) | rot (Baseline) |
TestExtractSchluesselUndName.test_missing_attribute_returns_empty |
— (Docstring fehlt) | grün |
TestExtractSchluesselUndName.test_none_value_returns_empty |
— (Docstring fehlt) | grün |
TestGemarkungSchluesselbbox.test_success_bbox_filter |
WFS-BBox-Filter liefert Features → korrekte Tupel-Liste. | übersprungen – Legacy API (by_bbox) not available in current module |
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 |
TestGemarkungSchluesselbbox.test_both_layers_fail_returns_empty |
Beide Lade-Strategien scheitern → leere Liste. | übersprungen – Legacy API (by_bbox) not available in current module |
TestGemarkungSchluesselbbox.test_deduplication_and_sorting |
Doppelte Schlüssel werden dedupliziert, Ergebnis ist sortiert. | übersprungen – Legacy API (by_bbox) not available in current module |
TestGemarkungSchluesselbbox.test_feature_without_schluessel_skipped |
Feature ohne Schlüssel-Attribut wird übersprungen. | übersprungen – Legacy API (by_bbox) not available in current module |
TestGemarkungSchluesselbbox.test_exception_returns_empty |
Exception im Ladevorgang → leere Liste (kein Crash). | übersprungen – Legacy API (by_bbox) not available in current module |
TestGemarkungSchluesselnurNummern.test_returns_only_nummern |
— (Docstring fehlt) | übersprungen – Legacy API (by_bbox) not available in current module |
TestGemarkungSchluesselnurNummern.test_empty_input_returns_empty |
— (Docstring fehlt) | übersprungen – Legacy API (by_bbox) not available in current module |
TestLadeGemarkungenlayer.test_returns_layer_when_service_reachable |
Dienst erreichbar (isValid=True) → Layer-Objekt zurückgegeben. | grün |
TestLadeGemarkungenlayer.test_returns_none_when_service_unreachable |
Dienst nicht erreichbar (isValid=False) → None zurückgegeben. | grün |
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 |
|---|---|---|
TestExtrahiereGmlIds.test_xlink_href_format |
URN-Format 'urn:adv:oid:DEABC123' → nur 'DEABC123' extrahiert. | grün |
TestExtrahiereGmlIds.test_plain_gml_id |
Plain-GML-ID ohne Doppelpunkt → direkt übernommen. | grün |
TestExtrahiereGmlIds.test_empty_value_skipped |
Leerer gehoertZu-Wert wird übersprungen. | grün |
TestExtrahiereGmlIds.test_deduplication |
Doppelte Referenzen werden dedupliziert. | grün |
TestExtrahiereGmlIds.test_sorted_output |
Rückgabe ist aufsteigend sortiert. | grün |
TestGrenzpunktAlkis.test_no_vg_layer_returns_none |
— (Docstring fehlt) | grün |
TestGrenzpunktAlkis.test_invalid_punktort_layer |
— (Docstring fehlt) | grün |
TestGrenzpunktAlkis.test_empty_punktort_layer |
— (Docstring fehlt) | grün |
TestGrenzpunktAlkis.test_no_gml_ids_returns_pta_only |
— (Docstring fehlt) | rot (Baseline) |
TestGrenzpunktAlkis.test_grenzpunkt_batch_empty |
— (Docstring fehlt) | rot (Baseline) |
TestGrenzpunktAlkis.test_success_returns_both_layers |
— (Docstring fehlt) | rot (Baseline) |
TestGrenzpunktAlkis.test_extent_derived_from_vg_layer |
Wenn kein extent übergeben → Extent aus VG-Layer holen. | rot (Baseline) |
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 |
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 |
|---|---|---|
TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_liste |
— (Docstring fehlt) | grün |
TestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_liste |
— (Docstring fehlt) | grün |
TestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_liste |
— (Docstring fehlt) | grün |
TestExtrahiereKnickpunkte.test_qgis_nicht_verfuegbar_gibt_leere_liste |
Wenn qgis.core kein QgsPointXY hat (ImportError in Funktion), leere Liste. | grün |
TestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueck |
— (Docstring fehlt) | grün |
TestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueck |
— (Docstring fehlt) | grün |
TestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck |
— (Docstring fehlt) | grün |
TestKnickpunktPruefungKlassifizierung.test_identischer_punkt_wird_gruen_gezaehlt |
PunktortTA exakt am Knickpunkt → identisch_count == 1. | grün |
TestKnickpunktPruefungKlassifizierung.test_kein_pta_an_knickpunkt_wird_rot_gezaehlt |
Kein PunktortTA am Knickpunkt → kein_pta_count == 1. | grün |
TestFehlendKnickpunkteViaVerbindungslinien.test_leere_union_gibt_null_zurueck |
bror_union.isEmpty() == True → (0, []). | grün |
TestFehlendKnickpunkteViaVerbindungslinien.test_weniger_als_zwei_pta_auf_ring_kein_orange |
Nur 1 gematchter PunktortTA auf Ring → keine fehlenden Knickpunkte. | grün |
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_im_puffer_wird_orange |
Nicht-gematchter PunktortTA innerhalb 3-cm-Puffer → orange gezählt. | grün |
TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_ausserhalb_puffer_kein_orange |
Nicht-gematchter PunktortTA außerhalb Puffer → nicht orange gezählt. | grün |
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 |
|---|---|---|
TestPluginMain.test_init_sets_services_and_names |
— (Docstring fehlt) | grün |
TestPluginMain.test_initGui_registers_action_when_basis_ui_exists |
— (Docstring fehlt) | grün |
TestPluginMain.test_run_creates_dock_and_marks_toolbar_active |
— (Docstring fehlt) | grün |
TestPluginMain.test_unload_removes_dock_and_action |
— (Docstring fehlt) | grün |
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 |
|---|---|---|
TestVerfahrensgebietAlkis.test_check_existing_layer_first_load |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkis.test_check_existing_layer_keep_existing |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_success_single_kombination |
Einzelne (adv_name, bezeichnung)-Kombination → kein Dialog, Memory-Layer zurück. | grün |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_auswahl |
Zwei verschiedene Kombinationen → Dialog wird gezeigt, gewählte Features genutzt. | grün |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_abbruch |
Zwei verschiedene Kombinationen → Nutzer bricht Dialog ab → NONE. | grün |
TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl |
Zwei verschiedene Kombinationen → beide ausgewählt → beide Feature-Gruppen genutzt. | grün |
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 |
|---|---|---|
TestSelectByLocation.test_processing_not_available_returns_zero |
— (Docstring fehlt) | grün |
TestSelectByLocation.test_processing_success_returns_count |
— (Docstring fehlt) | grün |
TestSelectByLocation.test_processing_exception_returns_zero |
— (Docstring fehlt) | grün |
TestFuegeVkzFeldHinzu.test_empty_vkz_does_nothing |
— (Docstring fehlt) | grün |
TestFuegeVkzFeldHinzu.test_none_vkz_does_nothing |
— (Docstring fehlt) | grün |
TestFuegeVkzFeldHinzu.test_vkz_field_added |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_gleiche_flaeche_stimmt_ueberein |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_ueberein |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_differenz_innerhalb_toleranz |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_differenz_ausserhalb_toleranz |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_flaechen_werte_korrekt |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_lese_toleranz_default_ist_null |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_lese_toleranz_parst_string |
— (Docstring fehlt) | grün |
TestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_null |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_aborts |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkisKomplett.test_flst_none_aborts |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enriched |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_none |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkisKomplett.test_progress_cancel_after_step1_returns_none |
Abbruch nach Schritt 1 → sofortiger sauberer Rückgabestatus. | grün |
TestVerfahrensgebietAlkisKomplett.test_success_flaechen_match_zeigt_info |
Flächenübereinstimmung → show_info_dialog mit erwartetem Text. | grün |
TestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string |
— (Docstring fehlt) | grün |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_abbrechen_kein_detailcheck |
Abweichung + Abbrechen → knickpunkt_pruefung wird NICHT aufgerufen. | grün |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_als_vg_laden |
Abweichung + Als VG laden → BROR-Layer wird umbenannt und als | grün |
TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_detailpruefung_startet_knickpruefung |
Abweichung + Detailprüfung → lade_punktort_ta + knickpunkt_pruefung | grün |
TestVerfahrensgebietAlkisKomplett.test_bror_layer_bleibt_bei_erfolg_im_projekt |
Bei Erfolg darf der BROR-Layer NICHT entfernt werden. | grün |
TestVerfahrensgebietAlkisKomplett.test_bror_layer_wird_bei_fehler_entfernt |
Bei Fehler (flst_alkis NONE) wird der BROR-Layer aus dem Projekt entfernt. | grün |
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_abgebrochen |
Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer bricht den | grün |
TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_liefert_landkreis |
Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer wählt einen | grün |
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_wird_bei_fehlender_vkz_verwendet |
Keine Verfahrensnummer, aber Landkreis gesetzt → Landkreis-Suchpfad | grün |
TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_nur_laden_ueberspringt_dialog2 |
nur_laden=True → Funktion kehrt sofort zurück, Dialog 2 (Gemarkung | grün |
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 |
|---|---|---|
TestPruefeFlurstueckLayer.test_layer_ok_passes |
Gültiger Polygon-Vektor-Layer mit Pflichtfeldern → ok=True. | grün |
TestPruefeFlurstueckLayer.test_layer_missing_field_fails |
Layer ohne Pflichtfelder → ok=False, aktion=felder_fehlen. | grün |
TestPruefeFlurstueckLayer.test_layer_wrong_geometry_fails |
Layer mit falschem Geometrietyp → ok=False, aktion=falscher_geotyp. | grün |
TestPruefeAuswahl.test_no_selection_fails |
— (Docstring fehlt) | grün |
TestPruefeAuswahl.test_with_selection_passes |
— (Docstring fehlt) | grün |
TestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zero |
— (Docstring fehlt) | grün |
TestGetKennzeichenMenge.test_returns_set_of_ids |
Kommagetrennte Kennzeichen im Single-Feature werden korrekt geparst. | grün |
TestGetKennzeichenMenge.test_empty_layer_returns_empty_set |
— (Docstring fehlt) | grün |
TestGetKennzeichenMenge.test_single_kennzeichen_without_comma |
Einzelnes Kennzeichen ohne Komma wird korrekt erkannt. | grün |
TestErstelle.test_success_counts |
3 gültige Features → erfolgreich=3, fehlgeschlagen=0, 1 Union-Feature im Layer. | grün |
TestErstelle.test_partial_failure_on_empty_geometry |
2 ok + 1 leere Geometrie → erfolgreich=2, fehlgeschlagen=1. | grün |
TestErstelle.test_all_fail_on_empty_geometries |
Alle Features haben leere Geometrie → erfolgreich=0, kein Feature im Layer. | grün |
TestErgaenzeVerfahrensgebiet.test_adds_only_new_ids |
Auswahl enthält 1 neue + 1 bereits vorhandene ID → hinzugefügt=1. | grün |
TestErgaenzeVerfahrensgebiet.test_skip_empty_geometry_counts_as_failed |
Neue ID mit leerer Geometrie → fehlgeschlagen=1, hinzugefügt=0. | grün |
TestErgaenzeVerfahrensgebiet.test_all_already_present |
Alle ausgewählten IDs bereits vorhanden → bereits_vorhanden=n, hinzugefügt=0. | grün |
TestEntferneAusVerfahrensgebiet.test_removes_present_ids |
Auswahl enthält 1 vorhandene ID → entfernt=1, nicht_enthalten=0. | grün |
TestEntferneAusVerfahrensgebiet.test_counts_ids_not_in_layer |
Auswahl enthält ID, die nicht im Verfahrensgebiet ist → nicht_enthalten=1. | grün |
TestEntferneAusVerfahrensgebiet.test_none_present_in_layer |
Auswahl hat IDs, die alle nicht im Layer sind → entfernt=0, nicht_enthalten=n. | grün |
TestEntferneAusVerfahrensgebiet.test_empty_selection_removes_nothing |
Leere Auswahl → nichts entfernt, nichts nicht_enthalten. | grün |
TestEntferneAusVerfahrensgebiet.test_removes_last_id_deletes_feature |
Wird das letzte Kennzeichen entfernt, wird das Feature gelöscht. | grün |
TestErsetze.test_ersetze_delegates_to_erstelle |
ersetze_verfahrensgebiet gibt dasselbe Ergebnis wie erstelle zurück. | grün |
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 |
|---|---|---|
TestFindShp.test_findet_shp_in_root |
— (Docstring fehlt) | grün |
TestFindShp.test_findet_shp_in_unterordner |
— (Docstring fehlt) | grün |
TestFindShp.test_kein_shp_gibt_none_zurueck |
— (Docstring fehlt) | grün |
TestFindShp.test_case_insensitive_erkennung |
— (Docstring fehlt) | grün |
TestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_none |
— (Docstring fehlt) | grün |
TestErstelleMemoryLayerAusShp.test_keine_features_gibt_none |
— (Docstring fehlt) | grün |
TestErstelleMemoryLayerAusShp.test_attribute_von_erstem_feature_werden_gesetzt |
Attributwerte des ersten Features werden auf das Union-Feature übertragen. | grün |
TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck |
— (Docstring fehlt) | rot (Baseline) |
TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) |
TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) |
TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning |
— (Docstring fehlt) | rot (Baseline) |
TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning |
— (Docstring fehlt) | rot (Baseline) |
TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck |
— (Docstring fehlt) | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_lade_zip_none_aborts |
— (Docstring fehlt) | grün |
TestVerfahrensgebietShapeKomplett.test_shape_vg_sofort_ins_projekt_nach_laden |
Shape-VG wird unmittelbar nach dem Laden ins Projekt eingefügt. | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt |
Shape-VG wird bei Fehler/Abbruch aus dem Projekt entfernt. | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_shape_vg_bleibt_im_projekt_bei_erfolg |
Bei erfolgreichem Abschluss wird shape_vg NICHT aus dem Projekt entfernt. | grün |
TestVerfahrensgebietShapeKomplett.test_flst_none_aborts |
— (Docstring fehlt) | grün |
TestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warning |
— (Docstring fehlt) | grün |
TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog |
— (Docstring fehlt) | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck |
— (Docstring fehlt) | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf |
— (Docstring fehlt) | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler |
— (Docstring fehlt) | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt |
— (Docstring fehlt) | grün |
TestVerfahrensgebietShapeKomplett.test_bror_layer_ist_stets_none |
Dritter Rückgabewert ist im Shape-Workflow immer None (kein BROR). | grün |
TestVerfahrensgebietShapeKomplett.test_bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt |
VKZ gesetzt → verfahrensgebiet_alkis aufgerufen, bror_layer zurückgegeben. | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_bror_wird_vor_shape_vg_ins_projekt_eingefuegt |
BROR wird VOR shape_vg ins Projekt eingefügt (kein Namenskonflikt). | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_bror_wird_bei_abbruch_aus_projekt_entfernt |
BROR und shape_vg werden bei Fehler aus dem Projekt entfernt. | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_verfahrensgebiet_alkis_nicht_aufgerufen_wenn_vkz_leer |
Leere VKZ → verfahrensgebiet_alkis wird NICHT aufgerufen. | grün |
TestVerfahrensgebietShapeKomplett.test_bror_als_erstes_argument_beim_flaechenvergleich |
Mit BROR: _vergleiche_flaechen wird (bror, shape_vg, ...) aufgerufen. | rot (Baseline) |
TestVerfahrensgebietShapeKomplett.test_fallback_auf_temp_enriched_wenn_bror_ladeversagen |
BROR-Ladeversagen → Fallback: _vergleiche_flaechen mit shape_vg vs temp_enriched. | rot (Baseline) |
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)
| Testfall | prüft | Status |
|---|---|---|
TestWorkingTab.test_set_busy_updates_button_state |
— (Docstring fehlt) | grün |
TestWorkingTab.test_on_verf_layer_changed_valid_sets_variable |
— (Docstring fehlt) | grün |
TestWorkingTab.test_on_verf_layer_changed_none_clears_variable |
— (Docstring fehlt) | grün |
TestWorkingTab.test_handle_verf_alkis_success_path |
verfahrensgebiet_alkis_komplett → 4-Tupel (enriched, flst, bror, FIRST). | rot (Baseline) |
TestWorkingTab.test_handle_verf_alkis_failure_clears_layer_var |
Status NONE → Layer-Variable wird auf '' gesetzt. | grün |
TestWorkingTab.test_handle_flurst_alkis_first_load_uebernimmt_layer |
Erstmaliges Laden über 'Flurstücke laden' fügt den Layer dem Projekt hinzu. | grün |
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 |
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 |
TestWorkingTab.test_handle_grenz_alkis_success_sets_haken |
Grenzpunkte erfolgreich geladen → haken_grenz wird gesetzt. | rot (Baseline) |
TestWorkingTab.test_handle_grenz_alkis_none_result_sets_no_haken |
grenzpunkt_alkis liefert (None, None) → kein Haken. | rot (Baseline) |
TestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_style |
— (Docstring fehlt) | grün |
TestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_path |
— (Docstring fehlt) | grün |
TestWorkingTab.test_handle_flurst_alkis_invalid_input_returns_early |
Status NONE (z. B. Nutzerabbruch) → kein Layer, kein Haken. | grün |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_active_layer |
Kein aktiver Layer → warning, kein Layer wird erstellt. | grün |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_required_fields |
Layer ohne Pflichtfelder → warning, kein Layer wird erstellt. | grün |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_selection |
Keine Flurstück-Auswahl → warning, kein Layer erstellt. | grün |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_new_layer_success |
Erstlauf ohne bestehenden Layer → Layer wird erstellt und hinzugefügt. | grün |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ergaenzen_dispatch |
Entscheidung 'ergaenzen' → ergaenze_verfahrensgebiet wird aufgerufen. | grün |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_entfernen_dispatch |
Entscheidung 'entfernen' → entferne_aus_verfahrensgebiet wird aufgerufen. | grün |
TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ersetzen_dispatch |
Entscheidung 'ersetzen' → alter Layer entfernt, neuer hinzugefügt. | grün |
TestWorkingTab.test_aus_liste_button_shows_not_implemented_hint |
— (Docstring fehlt) | grün |
TestWorkingTab.test_handle_gem_alkis_service_reachable_adds_layer |
Dienst erreichbar → Layer ins Projekt, Stil angewendet, Haken gesetzt. | grün |
TestWorkingTab.test_handle_gem_alkis_service_unreachable_shows_warning |
Dienst nicht erreichbar (None) → warning, kein addMapLayer. | grün |
TestWorkingTab.test_handle_gem_alkis_layer_already_exists_shows_info |
Layer 'Gemarkungen' bereits vorhanden → info, kein erneutes Laden. | grün |
TestHandleVerfShape.test_status_none_clears_layer_variable |
Status NONE → Layer-Variable wird auf '' gesetzt. | grün |
TestHandleVerfShape.test_button_always_re_enabled_on_failure |
Button muss nach Status NONE wieder freigegeben sein (finally). | grün |
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_nein_bricht_ab |
Verfahrensnummer leer + Nutzer wählt 'Nein' → Vorgang abgebrochen. | rot (Baseline) |
TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort |
Verfahrensnummer leer + Nutzer wählt 'Ja' → Pipeline wird aufgerufen. | rot (Baseline) |
TestHandleVerfShape.test_verfahrensnummer_gesetzt_kein_rueckfrage_dialog |
Verfahrensnummer gesetzt → kein ask_yes_no-Dialog. | grün |
TestHandleVerfShape.test_success_path_applies_style_and_sets_haken |
Erfolg → verfahrensgebiet.qml angewendet, haken_verf gesetzt, success aufgerufen. | grün |
TestHandleVerfShape.test_bror_layer_erhaelt_qml_stil |
Wenn bror_layer zurückgegeben → BauRaumOderBodenordnungsrecht.qml angewendet. | grün |
TestHandleVerfShape.test_enriched_layer_already_in_project_not_added_again |
Layer bereits im Projekt → kein erneutes addMapLayer für VG-Layer. | grün |
TestHandleVerfShape.test_busy_state_set_during_execution |
Button wird während der Ausführung auf busy gesetzt. | grün |
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 |
|---|---|---|
TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_provider |
— (Docstring fehlt) | grün |
TestListenauswerter.test_validate_rows_rejects_missing_required_fields |
— (Docstring fehlt) | grün |
TestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failure |
— (Docstring fehlt) | grün |
TestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case |
— (Docstring fehlt) | grün |
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 |
|---|---|---|
TestTabALogic.test_verfahrens_db_set_and_load_roundtrip |
— (Docstring fehlt) | grün |
TestTabALogic.test_verfahrens_db_clear |
— (Docstring fehlt) | grün |
TestTabALogic.test_linkliste_set_and_load_existing_path |
— (Docstring fehlt) | grün |
TestTabALogic.test_linkliste_load_returns_none_when_file_missing |
— (Docstring fehlt) | grün |
TestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persists |
— (Docstring fehlt) | grün |
TestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejects |
— (Docstring fehlt) | grün |
TestTabALogic.test_resolve_raumfilter_without_filter_returns_none |
— (Docstring fehlt) | grün |
TestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup |
— (Docstring fehlt) | grün |
TestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps |
— (Docstring fehlt) | grün |
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 |
|---|---|---|
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missing |
— (Docstring fehlt) | grün |
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project |
— (Docstring fehlt) | grün |
TestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing |
— (Docstring fehlt) | grün |
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 |
|---|---|---|
TestTabAUI.test_tab_a_callbacks_can_be_called_without_crash |
— (Docstring fehlt) | grün |
TestTabAUI.test_tab_a_raumfilter_callback_persists_value |
— (Docstring fehlt) | grün |
TestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber |
— (Docstring fehlt) | rot (Baseline) |
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 |
|---|---|---|
TestVlnApiLogicAvailability.test_is_available_reflects_import_state |
— (Docstring fehlt) | grün |
TestVlnApiLogicAvailability.test_is_available_false_when_vln_karten_missing |
Wenn VLN_KARTEN_AVAILABLE=False, liefert is_available() False. | grün |
TestVlnApiLogicCredentials.test_save_api_key_calls_qsettings |
— (Docstring fehlt) | grün |
TestVlnApiLogicCredentials.test_clear_api_key_calls_remove |
— (Docstring fehlt) | grün |
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mail |
— (Docstring fehlt) | grün |
TestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_empty |
— (Docstring fehlt) | grün |
TestVlnApiLogicLogin.test_login_sets_client_and_saves_key |
— (Docstring fehlt) | grün |
TestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modules |
— (Docstring fehlt) | grün |
TestVlnApiLogicLogin.test_login_propagates_api_error |
— (Docstring fehlt) | grün |
TestVlnApiLogicLogin.test_logout_clears_client |
— (Docstring fehlt) | grün |
TestVlnApiLogicLogin.test_is_authenticated_false_after_logout |
— (Docstring fehlt) | grün |
TestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_client |
— (Docstring fehlt) | grün |
TestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticated |
— (Docstring fehlt) | grün |
TestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_client |
— (Docstring fehlt) | grün |
TestVlnApiLogicVkz.test_load_stored_vkz_reads_from_project |
— (Docstring fehlt) | grün |
TestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_empty |
— (Docstring fehlt) | grün |
TestVlnApiLogicVkz.test_save_vkz_writes_to_project |
— (Docstring fehlt) | grün |
TestVlnApiLogicVkz.test_save_vkz_does_nothing_for_none |
— (Docstring fehlt) | grün |
TestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_karten |
— (Docstring fehlt) | grün |
TestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layers |
— (Docstring fehlt) | grün |
TestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layer |
— (Docstring fehlt) | grün |
TestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_path |
— (Docstring fehlt) | grün |
TestVlnApiLogicUpload.test_upload_returns_error_for_none_layer |
— (Docstring fehlt) | grün |
TestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modules |
— (Docstring fehlt) | grün |
TestVlnApiLogicUpload.test_upload_calls_save_feature_collection |
— (Docstring fehlt) | grün |
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 420 Testfällen ohne Beschreibung
Keine Lücken.
sn_verfahrensgebiet – 102 von 208 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 33) – 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