Befund aus dem QGIS-Test (Fenster immer auf dem Hauptbildschirm, im Vollbild nicht zu verlassen) in fallstricke.md festgehalten; Testkonzept, Modulkarte und Testkatalog an das Fenster mit Rahmen und die Pfadanzeige der Korrektur-Datei angepasst. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
172 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, 66 Testdateien, 823 Testfälle – 780 grün, 35 rot (Baseline), 8 übersprungen. Mit Beschreibung (Docstring): 678 von 823 (82 %).
Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung |
|---|---|---|---|---|---|---|
sn_basis |
43 | 490 | 490 | 0 | 0 | 490 von 490 (100 %) |
sn_verfahrensgebiet |
18 | 289 | 247 | 34 | 8 | 187 von 289 (65 %) |
sn_plan41 |
5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) |
| Summe | 66 | 823 | 780 | 35 | 8 | 678 von 823 (82 %) |
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 – 43 Testdateien mit 490 Testfällen (490 grün, 0 rot, 0 übersprungen).
Plugin_SN_Basis/tests/test_base_dockwidget.py
Worum es in der Datei geht: Tests für sn_basis/ui/base_dockwidget.py: closeEvent (Issue #65) und Scroll-Bereich je Tab (Basis #104).
Testgruppen:
CloseEventTests(5 Testfälle): — (Docstring fehlt)ScrollbereichTests(5 Testfälle): Lange Tabs dürfen das QGIS-Fenster nicht über den Bildschirmrand schieben (Basis #104).
| Testfall | prüft | Status |
|---|---|---|
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 |
ScrollbereichTests.test_jeder_tab_liegt_in_einem_scrollbereich |
Prüft, dass BaseDockWidget jeden Tab in einen mitwachsenden Scroll-Bereich packt, damit ein langer Tab scrollt, statt das Fenster zu verlängern. | grün |
ScrollbereichTests.test_fachplugin_mit_eigenem_tabaufbau_bekommt_scrollbereich |
Prüft, dass auch ein Fachplugin, das seine Tabs selbst aufbaut und per setWidget einsetzt (wie Plan41, Verfahrensgebiet), Scroll-Bereiche bekommt. | grün |
ScrollbereichTests.test_scrollbereich_wird_nicht_doppelt_angelegt |
Prüft, dass ein Tab, der schon in einem Scroll-Bereich liegt, beim erneuten Einsetzen nicht ein zweites Mal verpackt wird. | grün |
ScrollbereichTests.test_setwidget_none_und_andere_widgets_bleiben_unveraendert |
Prüft, dass setWidget(None) und Widgets ohne Tabs ohne Fehler und unverändert eingesetzt werden. | grün |
ScrollbereichTests.test_cleanup_erreicht_tabs_im_scrollbereich |
Prüft, dass closeEvent cleanup() auch für Tabs aufruft, die in einem Scroll-Bereich liegen. | grün |
Plugin_SN_Basis/tests/test_basemap_anbindung.py
Worum es in der Datei geht: Tests für die Anbindung der Basemap-Legende an Druckablauf, Dialog und Druck-Tab (Basis #88):
Testgruppen:
TestMehrfachauswahl(1 Testfälle): — (Docstring fehlt)TestDruckanbindung(4 Testfälle): — (Docstring fehlt)TestBasemapBereich(11 Testfälle): — (Docstring fehlt)TestStilvorlagenAustausch(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
TestBasemapBereich.test_stil_laden_bricht_bei_fremdem_thema_ab |
Prüft, dass eine Vorlage eines anderen Themas (Grau auf Farbe) nur nach Bestätigung geladen wird. | grün |
TestStilvorlagenAustausch.test_export_schreibt_gewaehlte_vorlage |
Prüft, dass „Exportieren …“ die gewählte Vorlage in die im Dateidialog gewählte Datei schreibt und den Pfad meldet. | grün |
TestStilvorlagenAustausch.test_export_abgebrochen_oder_ohne_vorlage |
Prüft, dass ohne gewählte Vorlage oder bei abgebrochenem Dateidialog nichts exportiert wird. | grün |
TestStilvorlagenAustausch.test_import_uebernimmt_datei_unter_gewaehltem_namen |
Prüft, dass „Importieren …“ den Namen aus der Datei vorschlägt, unter dem gewählten Namen importiert und die neue Vorlage auswählt. | grün |
TestStilvorlagenAustausch.test_import_ersetzt_vorhandene_nur_nach_rueckfrage |
Prüft, dass ein Import eine gleichnamige Vorlage ohne Bestätigung nicht überschreibt. | grün |
TestStilvorlagenAustausch.test_import_ungeeigneter_datei_warnt |
Prüft, dass eine ungeeignete Importdatei gemeldet wird, ohne nach einem Namen zu fragen oder etwas zu importieren. | grün |
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)TestAutobahnSymbol(3 Testfälle): Autobahn-Symbol aus dem ausgelieferten Katalog (Basis #98).TestHilfslayer(3 Testfälle): — (Docstring fehlt)TestPlatzierung(7 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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 |
TestAutobahnSymbol.test_druckmassstab_ab_zoom_14_blauer_decker_auf_grauer_kontur |
Prüft, dass das Autobahn-Symbol ab Zoom 14 aus grauer Kontur und blauem Decker der Fahrbahnachse besteht statt nur aus einem grauen Style. | grün |
TestAutobahnSymbol.test_zoom_11_bis_13_bisherige_kontur_und_decker |
Prüft, dass das Autobahn-Symbol bei Zoom 11 bis 13 weiterhin aus Kontur und Decker der getrennten Fahrbahn besteht. | grün |
TestAutobahnSymbol.test_unter_zoom_11_blauer_decker |
Prüft, dass das Autobahn-Symbol unter Zoom 11 den blauen Decker der Übersichtsdarstellung nutzt. | 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_spalten_ungleich_breit |
Prüft, dass die Basemap-Legende ungleich breite Spalten bekommt (#96). | grün |
TestPlatzierung.test_mindestgroesse_mit_ungleichen_spalten_und_umbruch |
Prüft, dass der Platzbedarf mit ungleich breiten Spalten und Textumbruch berechnet wird (#96). | grün |
TestPlatzierung.test_neue_basemap_legende_mindestens_so_breit_wie_kartenschild |
Prüft, dass eine neu angelegte Basemap-Legende die Breite des Kartenschilds als Mindestbreite bekommt. | grün |
TestPlatzierung.test_titel_zweizeilig |
Prüft, dass der Titel der Basemap-Legende zweizeilig ist, damit er die Mindestbreite nicht bestimmt (#96). | 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)TestExportImport(6 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 |
TestExportImport.test_export_und_import_uebertragen_vorlage_mit_begleitdaten |
Prüft, dass eine exportierte Vorlage auf einem anderen Rechner mit Anzeigename, Thema, Style-Namen und Legendenauswahl ankommt. | grün |
TestExportImport.test_export_einer_fehlenden_vorlage |
Prüft, dass der Export einer nicht vorhandenen Vorlage als ValueError gemeldet wird und keine Datei entsteht. | grün |
TestExportImport.test_import_einer_reinen_qml_datei |
Prüft, dass eine QML-Datei ohne Begleitdatei mit dem Dateinamen als Namensvorschlag und ohne Thema übernommen wird. | grün |
TestExportImport.test_import_lehnt_ungeeignete_dateien_ab |
Prüft, dass Dateien ohne QGIS-Stil und ZIP-Dateien ohne genau eine QML-Datei abgelehnt werden, ohne etwas anzulegen. | grün |
TestExportImport.test_import_uebernimmt_nur_bekannte_begleitdaten |
Prüft, dass ein Import unbekannte oder falsch typisierte Angaben der Begleitdatei verwirft und den gewählten Namen nutzt. | grün |
TestExportImport.test_thema_der_vorlage_passt_nicht_zum_layer |
Prüft, dass ein abweichendes Thema der Vorlage gemeldet wird und ohne Thema in Vorlage oder Layer keine Meldung kommt. | grün |
Plugin_SN_Basis/tests/test_basemap_themen.py
Worum es in der Datei geht: Tests für modules/basemap_themen.py und den Abschnitt „Basemap-Layer“ im Basemap-Bereich (Basis #100):
Testgruppen:
TestQuelleUndThema(4 Testfälle): Layerquelle der Themen, Thema eines Layers und Erkennung über die Kachel-URL.TestPruefwert(3 Testfälle): Prüfwert der Darstellung und Änderungsstand für ungespeicherte Änderungen.TestLayerUndThemenwechsel(7 Testfälle): Basemap-Layer anlegen, in den Layerbaum einfügen und Thema wechseln.TestStilvorlageMitThema(1 Testfälle): Stilvorlagen vermerken das Thema des Layers.TestAuswahlDialog(1 Testfälle): Rückfrage mit frei benannten Knöpfen.TestBasemapHinzufuegen(5 Testfälle): Knopf „Basemap hinzufügen“ mit Rückfrage bei vorhandenem Layer gleicher Quelle.TestThemaWechseln(8 Testfälle): Themenauswahl mit Rückfrage bei geänderter oder unbekannter Darstellung.TestZielLayer(1 Testfälle): Auswahl des Basemap-Layers, auf den Thema und Stil wirken.
| Testfall | prüft | Status |
|---|---|---|
TestQuelleUndThema.test_quelle_enthaelt_kachel_url_und_style_des_themas |
Prüft, dass die Layerquelle eines Themas die gemeinsame Kachel-URL und die Style-JSON des Themas enthält. | grün |
TestQuelleUndThema.test_unbekannte_style_json_ergibt_kein_thema |
Prüft, dass ein Layer mit fremder oder fehlender Style-JSON keinem Thema zugeordnet wird. | grün |
TestQuelleUndThema.test_unbekannter_schluessel_faellt_auf_farbe_zurueck |
Prüft, dass ein unbekannter Themenschlüssel auf das Standardthema „Farbe“ zurückfällt. | grün |
TestQuelleUndThema.test_vorhandener_layer_wird_an_der_quell_url_erkannt |
Prüft, dass ein vorhandener Basemap-Layer an der Kachel-URL erkannt wird – unabhängig von Name, Thema und URL-Kodierung. | grün |
TestPruefwert.test_gleiche_darstellung_gleicher_pruefwert_auch_bei_anderer_qgis_version |
Prüft, dass dieselbe Darstellung denselben Prüfwert ergibt, auch wenn die QGIS-Version in der QML abweicht. | grün |
TestPruefwert.test_ohne_ausgabe_der_darstellung_kein_pruefwert |
Prüft, dass kein Prüfwert entsteht, wenn der Layer seine Darstellung nicht ausgeben kann. | grün |
TestPruefwert.test_aenderungsstand_unbekannt_unveraendert_geaendert |
Prüft, dass der Änderungsstand ohne gemerkten Prüfwert „unbekannt“ ist, nach dem Merken „unverändert“ und nach einer Änderung „geändert“. | grün |
TestLayerUndThemenwechsel.test_neuer_layer_hat_thema_namen_und_gemerkten_stand |
Prüft, dass ein neuer Basemap-Layer im gewählten Thema entsteht, den Themenstil lädt und als unverändert gilt. | grün |
TestLayerUndThemenwechsel.test_ungueltiger_layer_oder_fehlender_themenstil_meldet_fehler |
Prüft, dass ein ungültiger Layer oder ein nicht ladbarer Themenstil als ValueError gemeldet wird. | grün |
TestLayerUndThemenwechsel.test_ohne_vektorkacheln_kein_layer |
Prüft, dass ohne Vektorkachel-Unterstützung (Mock-Modus) kein Layer erzeugt, sondern ein Fehler gemeldet wird. | grün |
TestLayerUndThemenwechsel.test_layer_kommt_ganz_unten_in_den_layerbaum |
Prüft, dass der Basemap-Layer ohne automatische Einordnung ins Projekt kommt und unten an den Layerbaum angehängt wird. | grün |
TestLayerUndThemenwechsel.test_themenwechsel_stellt_quelle_um_und_merkt_neuen_stand |
Prüft, dass der Themenwechsel die Style-JSON der Quelle umstellt, den Themenstil lädt, den automatischen Namen anpasst und den neuen Stand merkt. | grün |
TestLayerUndThemenwechsel.test_themenwechsel_behaelt_eigenen_layernamen |
Prüft, dass ein vom Nutzer vergebener Layername beim Themenwechsel erhalten bleibt. | grün |
TestLayerUndThemenwechsel.test_themenwechsel_ohne_umstellbare_quelle_meldet_fehler |
Prüft, dass ein Layer ohne setDataSource den Themenwechsel mit einem ValueError ablehnt. | grün |
TestStilvorlageMitThema.test_stilvorlage_vermerkt_das_thema |
Prüft, dass eine gespeicherte Stilvorlage das Thema des Layers in ihrer Begleitdatei und in der Liste vermerkt. | grün |
TestAuswahlDialog.test_mock_modus_liefert_vorbelegung |
Prüft, dass die Rückfrage mit frei benannten Knöpfen im Mock-Modus den vorbelegten Schlüssel liefert. | grün |
TestBasemapHinzufuegen.test_ohne_vorhandenen_layer_wird_ohne_rueckfrage_hinzugefuegt |
Prüft, dass ohne Basemap-Layer gleicher Quelle sofort ein Layer im gewählten Thema hinzugefügt wird. | grün |
TestBasemapHinzufuegen.test_vorhandener_layer_wird_in_der_rueckfrage_genannt_abbrechen |
Prüft, dass ein vorhandener Layer gleicher Quelle in der Rückfrage genannt wird und „Abbrechen“ nichts verändert. | grün |
TestBasemapHinzufuegen.test_zusaetzlich_laden_fuegt_zweiten_layer_hinzu |
Prüft, dass „Zusätzlich laden“ einen weiteren Basemap-Layer neben dem vorhandenen hinzufügt. | grün |
TestBasemapHinzufuegen.test_ersetzen_laedt_vorhandenen_layer_im_gewaehlten_thema |
Prüft, dass „Ersetzen“ keinen neuen Layer anlegt, sondern den vorhandenen im gewählten Thema neu lädt. | grün |
TestBasemapHinzufuegen.test_fehler_beim_anlegen_wird_gemeldet |
Prüft, dass ein nicht erreichbarer Dienst als Warnung gemeldet und kein Layer hinzugefügt wird. | grün |
TestThemaWechseln.test_unveraenderter_layer_wechselt_ohne_rueckfrage |
Prüft, dass ein unveränderter Basemap-Layer ohne Rückfrage auf das gewählte Thema wechselt. | grün |
TestThemaWechseln.test_gleiches_thema_aendert_nichts |
Prüft, dass die Wahl des Themas, das der Layer schon hat, nichts neu lädt. | grün |
TestThemaWechseln.test_geaenderte_darstellung_abbrechen_behaelt_thema |
Prüft, dass bei geänderter Darstellung nachgefragt wird und „Abbrechen“ Thema und Darstellung unverändert lässt. | grün |
TestThemaWechseln.test_geaenderte_darstellung_verwerfen_wechselt |
Prüft, dass „Verwerfen“ die geänderte Darstellung aufgibt und das Thema wechselt. | grün |
TestThemaWechseln.test_als_stil_speichern_sichert_vor_dem_wechsel |
Prüft, dass „Als Stil speichern“ die Darstellung vor dem Themenwechsel als Stilvorlage sichert. | grün |
TestThemaWechseln.test_abgebrochenes_speichern_verhindert_den_wechsel |
Prüft, dass das Thema nicht wechselt, wenn „Als Stil speichern“ gewählt, die Namensabfrage aber abgebrochen wird. | grün |
TestThemaWechseln.test_unbekannter_stand_fragt_nach |
Prüft, dass bei einem Layer ohne gemerkten Prüfwert (vor dieser Funktion geladen) vorsichtshalber nachgefragt wird. | grün |
TestThemaWechseln.test_ohne_basemap_layer_nur_vorauswahl |
Prüft, dass die Themenwahl ohne Basemap-Layer nur als Vorauswahl für „Basemap hinzufügen“ dient und nichts meldet. | grün |
TestZielLayer.test_ausgewaehlter_basemap_layer_hat_vorrang |
Prüft, dass der im Layerbaum ausgewählte Basemap-Layer Ziel des Themenwechsels ist, sonst der erste Basemap-Layer. | grün |
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_druck_kbs.py
Worum es in der Datei geht: Tests zu Basis #99: Ist das Projekt-KBS ein anderes als das KBS des Verfahrensgebiets, müssen
Testgruppen:
TestTransformiereRechteck(3 Testfälle): Umrechnung eines Rechtecks zwischen zwei KBS.TestZoomAufLayer(2 Testfälle): Zoom der Kartenansicht auf einen Layer in einem anderen KBS.TestDruckKbs(5 Testfälle): KBS der Layoutkarte und Umrechnung der Druckbereiche.TestLayoutkarteImDruckKbs(1 Testfälle): Die Layoutkarte bekommt das Druck-KBS, bevor die Ausdehnung gesetzt wird.
| Testfall | prüft | Status |
|---|---|---|
TestTransformiereRechteck.test_verschiedene_kbs_werden_umgerechnet |
Prüft, dass ein Rechteck bei verschiedenen KBS mit QgsCoordinateTransform von Quell- nach Ziel-KBS umgerechnet wird. | grün |
TestTransformiereRechteck.test_gleiches_fehlendes_oder_ungueltiges_kbs_laesst_rechteck_unveraendert |
Prüft, dass bei gleichem, fehlendem oder ungültigem KBS nicht umgerechnet und das Rechteck unverändert geliefert wird. | grün |
TestTransformiereRechteck.test_fehler_bei_der_umrechnung_liefert_das_rechteck |
Prüft, dass ein Fehler bei der Umrechnung nicht durchschlägt, sondern das ursprüngliche Rechteck zurückkommt. | grün |
TestZoomAufLayer.test_ausdehnung_wird_ins_kbs_der_kartenansicht_umgerechnet |
Prüft, dass zoom_auf_layer die Layer-Ausdehnung vom Layer-KBS in das KBS der Kartenansicht umrechnet, bevor gezoomt wird. | grün |
TestZoomAufLayer.test_ohne_layer_oder_kartenansicht_kein_zoom |
Prüft, dass zoom_auf_layer ohne Layer oder ohne Kartenansicht nichts tut und False liefert. | grün |
TestDruckKbs.test_druck_kbs_ist_das_kbs_des_verfahrensgebiets |
Prüft, dass die Layoutkarte im KBS des Verfahrensgebiet-Layers steht und ohne Verfahrensgebiet das Projekt-KBS gilt. | grün |
TestDruckKbs.test_kartenfenster_wird_vom_kbs_der_kartenansicht_umgerechnet |
Prüft, dass der Druckbereich „wie Kartenfenster“ vom KBS der Kartenansicht in das Druck-KBS umgerechnet wird. | grün |
TestDruckKbs.test_auswahl_wird_vor_dem_puffern_vom_layer_kbs_umgerechnet |
Prüft, dass der Druckbereich „Auswahl“ aus dem KBS des Auswahl-Layers umgerechnet und erst danach gepuffert wird. | grün |
TestDruckKbs.test_ohne_druck_kbs_wird_nicht_umgerechnet |
Prüft, dass _resolve_extent ohne Druck-KBS wie bisher nicht umrechnet (Aufrufe ohne den neuen Parameter). | grün |
TestDruckKbs.test_druckrechteck_wird_ins_kbs_seines_layers_umgerechnet |
Prüft, dass ein in der Kartenansicht gezeichnetes Druckrechteck vor dem Speichern in das KBS des Druckrechteck-Layers umgerechnet wird. | grün |
TestLayoutkarteImDruckKbs.test_hauptkarte_bekommt_das_kbs_vor_der_ausdehnung |
Prüft, dass die Hauptkarte eines neuen Layouts das Druck-KBS erhält, bevor ihre Ausdehnung gesetzt wird. | grün |
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(5 Testfälle): — (Docstring fehlt)TestMindestbreiteBeimLaden(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_spalten_ungleich_breit_und_text_umgebrochen |
Prüft, dass die Legenden ungleich breite Spalten und einen automatischen Textumbruch bekommen, damit mehrspaltige Legenden nicht unnötig breit werden (#96). | grün |
TestOrdneKartenrandAn.test_legenden_mindestens_so_breit_wie_kartenschild |
Prüft, dass die Legenden die Breite des Kartenschilds als Mindestbreite bekommen und das Layout sie für das Neuladen vermerkt. | grün |
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 |
TestMindestbreiteBeimLaden.test_mindestbreite_nur_fuer_vermerkte_layouts |
Prüft, dass beim Laden die Mindestbreite nur an Layouts mit Vermerk wieder gesetzt wird. | grün |
TestMindestbreiteBeimLaden.test_listener_verbinden_und_trennen |
Prüft, dass der Listener readProject einmal verbindet, beim Trennen wieder löst und beides mehrfach aufgerufen werden darf. | grün |
TestMindestbreiteBeimLaden.test_ohne_qgis_kein_listener |
Prüft, dass im Mock-Modus kein Listener verbunden wird. | 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 – 18 Testdateien mit 289 Testfällen (247 grün, 34 rot, 8 übersprungen).
Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py
Worum es in der Datei geht: Unit-Tests für sn_verfahrensgebiet.functions.beteiligung_pruefung.
Testgruppen:
TestBaueFlurstueckCsv(12 Testfälle): — (Docstring fehlt)TestBaueFlurstueckCsvListe(1 Testfälle): — (Docstring fehlt)TestHoleVerfahrensgebietLayer(3 Testfälle): — (Docstring fehlt)TestFordereManuellesLadenAn(2 Testfälle): try2/try3 laden nicht mehr automatisch, sondern fordern den Nutzer auf,TestTry3Bootstrap(1 Testfälle): — (Docstring fehlt)TestBeteiligungPruefenDispatch(2 Testfälle): Dispatch-Logik in beteiligung_pruefen(): try1 unverändert, try2/try3TestLadeBeteiligungCsv(4 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
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_eigentuemer_anzeige.py
Worum es in der Datei geht: Tests für das Anzeigefenster des Eigentümer-Datenabgleichs (#56).
Testgruppen:
TestAnzeigetext(6 Testfälle): — (Docstring fehlt)TestFensterOeffnen(3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
TestAnzeigetext.test_name_anschrift_email |
Prüft, dass die Anzeige Name mit Anrede und Titel, die mehrzeilige Anschrift mit Ortsteil und die E-Mail zeigt. | grün |
TestAnzeigetext.test_keine_internen_angaben |
Prüft, dass der Eigentümer weder Konten, Personen-IDs, Rechtsperson-Wert noch das Kennzeichen „verstorben“ sieht. | grün |
TestAnzeigetext.test_fehlende_email_wird_genannt |
Prüft, dass eine fehlende E-Mail ausdrücklich als „keine angegeben“ erscheint. | grün |
TestAnzeigetext.test_werte_werden_maskiert |
Prüft, dass Sonderzeichen aus den Daten maskiert werden und kein HTML einschleusen. | grün |
TestAnzeigetext.test_mehrere_eintraege_getrennt |
Prüft, dass mehrere Einträge untereinander, durch eine Linie getrennt, erscheinen. | grün |
TestAnzeigetext.test_leer_nur_platzhalter |
Prüft, dass die leere Anzeige nur den neutralen Platzhalter zeigt. | grün |
TestFensterOeffnen.test_normales_fenster_in_standardgroesse |
Prüft, dass das Anzeigefenster ohne gemerkte Lage als normales Fenster mit Rahmen in Standardgröße öffnet, nie im Vollbild. | grün |
TestFensterOeffnen.test_gemerkte_lage_wird_wiederhergestellt |
Prüft, dass eine gemerkte Größe und Lage der letzten Sitzung wiederhergestellt wird. | grün |
TestFensterOeffnen.test_unbrauchbare_lage_ergibt_standardgroesse |
Prüft, dass eine nicht wiederherstellbare Lage auf die Standardgröße zurückfällt. | grün |
Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_korrektur.py
Worum es in der Datei geht: Tests für die Korrekturen beim Eigentümer-Datenabgleich (#56).
Testgruppen:
TestAenderungen(4 Testfälle): — (Docstring fehlt)TestKorrekturPfad(3 Testfälle): — (Docstring fehlt)TestSchreiben(5 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
TestAenderungen.test_feldwerte |
Prüft, dass alle korrigierbaren Felder vorbelegt werden, mehrere E-Mails durch Komma getrennt. | grün |
TestAenderungen.test_nur_echte_aenderungen |
Prüft, dass nur geänderte Felder zählen und Leerraum am Rand oder doppelte Leerzeichen keine Änderung sind. | grün |
TestAenderungen.test_feld_leeren_ist_aenderung |
Prüft, dass das Leeren eines Feldes als Änderung zählt. | grün |
TestAenderungen.test_wende_an |
Prüft, dass die Änderungen im angezeigten Eintrag landen und E-Mails wieder getrennt werden; Konten bleiben. | grün |
TestKorrekturPfad.test_textdatei_provider |
Prüft, dass aus der Quelle eines Textdatei-Layers (file-URI, Leerzeichen kodiert) der Pfad neben der CSV wird. | grün |
TestKorrekturPfad.test_ogr_provider |
Prüft, dass auch eine OGR-Quelle mit Layernamen den Pfad neben der CSV ergibt. | grün |
TestKorrekturPfad.test_keine_csv |
Prüft, dass für Quellen ohne CSV-Datei kein Pfad vorgeschlagen wird. | grün |
TestSchreiben.test_neue_datei_mit_kopfzeile_und_bom |
Prüft, dass eine neue Korrektur-CSV mit BOM, Kopfzeile und je Änderung einer Zeile mit Exportspaltennamen entsteht. | grün |
TestSchreiben.test_anhaengen_ohne_zweite_kopfzeile |
Prüft, dass weitere Korrekturen angehängt werden, ohne Kopfzeile oder BOM zu wiederholen. | grün |
TestSchreiben.test_ohne_aenderung_keine_datei |
Prüft, dass ohne Änderung keine Datei angelegt wird. | grün |
TestSchreiben.test_schreibfehler_wird_weitergereicht |
Prüft, dass ein nicht schreibbarer Pfad als OSError beim Aufrufer ankommt. | grün |
TestSchreiben.test_schreibt_nichts_auf_die_konsole |
Prüft, dass das Festhalten von Korrekturen keine Personendaten auf die Konsole schreibt (Datenschutz). | grün |
Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_suche.py
Worum es in der Datei geht: Tests für die Eigentümersuche im Serienbriefexport (#56).
Testgruppen:
TestLayererkennung(2 Testfälle): — (Docstring fehlt)TestSuche(10 Testfälle): — (Docstring fehlt)TestAnzeigeformen(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
TestLayererkennung.test_layer_mit_name_und_vorname_ist_eigentuemerlayer |
Prüft, dass ein Layer mit den Spalten Nachname und Vorname als Eigentümerdatei erkannt wird, auch mit BOM und anderer Schreibweise. | grün |
TestLayererkennung.test_eigentuemerlayer_im_projekt |
Prüft, dass aus dem Projekt nur passende Layer kommen, nach Namen sortiert. | grün |
TestSuche.test_ohne_eingabe_fehler |
Prüft, dass ohne Name und Vorname nicht die ganze Datei gelistet, sondern um eine Eingabe gebeten wird. | grün |
TestSuche.test_layer_ohne_pflichtspalten |
Prüft, dass ein Layer ohne Nachname/Vorname mit Hinweis auf den Serienbriefexport abgelehnt wird. | grün |
TestSuche.test_teilstring_ohne_gross_kleinschreibung |
Prüft, dass Name und Vorname als Teilstring ohne Rücksicht auf Groß-/Kleinschreibung gesucht werden. | grün |
TestSuche.test_umlaute_und_eszett |
Prüft, dass „Müller“ auch „Mueller“ findet und „Strauss“ auch „Strauß“. | grün |
TestSuche.test_gleiche_person_gleiche_anschrift_zusammengefasst |
Prüft, dass Zeilen mit gleichem Namen und gleicher Anschrift ein Treffer werden und Konten, Personen-IDs und E-Mails gesammelt werden. | grün |
TestSuche.test_andere_anschrift_eigener_treffer |
Prüft, dass dieselbe Person mit anderer Anschrift ein eigener Treffer bleibt, sortiert nach Wohnort. | grün |
TestSuche.test_kennzeichen_verstorben |
Prüft, dass „verstorben“ beim Exportwert 1 (auch als Zahl gelesen) gesetzt ist und bei 0, Leerem und NULL nicht. | grün |
TestSuche.test_rechtsperson_als_rohwert |
Prüft, dass PER_RECHTSPERSON unverändert angezeigt wird (0, 1, 5, 9; noch nicht entschlüsselt) und abweichende Werte einer Person gesammelt werden. | grün |
TestSuche.test_plz_mit_fuehrender_null |
Prüft, dass eine von QGIS als Zahl gelesene PLZ wieder fünfstellig mit führender Null erscheint und Zeilen dadurch zusammenfinden. | grün |
TestSuche.test_suche_gibt_nichts_aus |
Prüft, dass die Suche keine Personendaten auf die Konsole schreibt (Datenschutz). | grün |
TestAnzeigeformen.test_name_und_anschrift |
Prüft, dass Name mit Titel und einzeilige Anschrift mit Ortsteil lesbar zusammengesetzt werden. | grün |
Plugin_SN_Verfahrensgebiet/tests/test_eigentuemer_tab.py
Worum es in der Datei geht: Tests für den Tab „Eigentümer“ – Flurstückssuche, Eigentümersuche, Anzeige und Korrektur (#56).
Testgruppen:
TestFlurstueckSuchen(5 Testfälle): — (Docstring fehlt)TestEigentuemerSuchen(4 Testfälle): — (Docstring fehlt)TestTrefferliste(3 Testfälle): — (Docstring fehlt)TestSitzung(7 Testfälle): — (Docstring fehlt)TestKorrekturLabel(4 Testfälle): — (Docstring fehlt)TestKorrektur(5 Testfälle): — (Docstring fehlt)TestKorrekturDatei(2 Testfälle): — (Docstring fehlt)TestDockWidgetTabs(1 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
TestFlurstueckSuchen.test_ohne_flurstueckslayer_erscheint_hinweisdialog |
Prüft, dass ohne Layer „Flurstücke“ ein Dialog zum Laden von Verfahrensgebiet und Flurstücken erscheint. | grün |
TestFlurstueckSuchen.test_eingabefehler_als_warnung |
Prüft, dass eine ungültige Eingabe als Warnung in der Meldungsleiste erscheint, nicht als Dialog. | grün |
TestFlurstueckSuchen.test_kein_treffer |
Prüft, dass ohne Treffer ein Hinweis erscheint und keine Auswahl gesetzt wird. | grün |
TestFlurstueckSuchen.test_treffer_werden_ausgewaehlt_und_angezoomt |
Prüft, dass Treffer im Flurstückslayer ausgewählt, angezoomt und gemeldet werden. | grün |
TestFlurstueckSuchen.test_ohne_kartenansicht_bleibt_auswahl |
Prüft, dass die Auswahl auch ohne Kartenansicht gesetzt und gemeldet wird. | grün |
TestEigentuemerSuchen.test_ohne_eigentuemerdatei_warnung |
Prüft, dass ohne gewählte Eigentümerdatei die Liste aufgefrischt und dann auf das Laden der CSV hingewiesen wird. | grün |
TestEigentuemerSuchen.test_suchfehler_als_warnung |
Prüft, dass ein Fehler der Suche (z. B. leere Eingabe) als Warnung erscheint. | grün |
TestEigentuemerSuchen.test_kein_treffer_ohne_namen_in_meldung |
Prüft, dass ohne Treffer ein Hinweis erscheint, der den gesuchten Namen nicht wiederholt (Datenschutz). | grün |
TestEigentuemerSuchen.test_treffer_oeffnen_trefferliste_und_ersetzen_die_alte |
Prüft, dass Treffer in einer neuen Trefferliste mit Anzeige-Rückruf erscheinen, eine offene alte Liste geschlossen wird und die Eingaben an die Suche gehen. | grün |
TestTrefferliste.test_trefferzeile_mit_hinweis |
Prüft, dass die Trefferliste Name, Anschrift, E-Mail, den Rohwert von PER_RECHTSPERSON und das Kennzeichen „verstorben“ zeigt. | grün |
TestTrefferliste.test_ausgewaehlte_eigentuemer |
Prüft, dass das Trefferfenster die in der Tabelle gewählten Einträge zurückgibt. | grün |
TestTrefferliste.test_daten_anzeigen_gibt_auswahl_weiter |
Prüft, dass „Daten anzeigen“ die Auswahl der Trefferliste an den Tab übergibt. | grün |
TestSitzung.test_sitzung_beginnen_oeffnet_leeres_fenster_mit_rahmen |
Prüft, dass „Sitzung beginnen“ ein leeres Anzeigefenster als normales Fenster öffnet (ohne gemerkte Lage beim ersten Mal). | grün |
TestSitzung.test_lage_gilt_fuer_naechste_sitzung |
Prüft, dass Größe und Lage des Fensters beim Beenden gemerkt und in der nächsten Sitzung wiederverwendet werden. | grün |
TestSitzung.test_daten_anzeigen_beginnt_sitzung_bei_bedarf |
Prüft, dass „Daten anzeigen“ ohne laufende Sitzung diese beginnt und die Einträge zeigt; die Statuszeile nennt nur die Anzahl. | grün |
TestSitzung.test_daten_anzeigen_ohne_auswahl |
Prüft, dass „Daten anzeigen“ ohne Auswahl nur einen Hinweis gibt und keine Sitzung beginnt. | grün |
TestSitzung.test_anzeige_leeren_laesst_fenster_offen |
Prüft, dass „Anzeige leeren“ die Daten entfernt, das Fenster aber nicht schließt. | grün |
TestSitzung.test_sitzung_beenden_schliesst_fenster |
Prüft, dass „Sitzung beenden“ das Anzeigefenster schließt und die angezeigten Daten vergisst. | grün |
TestSitzung.test_von_aussen_geschlossen_beendet_sitzung |
Prüft, dass ein über den Fensterrahmen geschlossenes Anzeigefenster die Sitzung beendet und seine Lage gemerkt wird. | grün |
TestKorrekturLabel.test_ohne_eigentuemerdatei |
Prüft, dass ohne Eigentümerdatei unter den Knöpfen steht, dass keine gewählt ist. | grün |
TestKorrekturLabel.test_pfad_neben_der_eigentuemerdatei |
Prüft, dass der Pfad der Korrektur-CSV angezeigt wird, mit Hinweis, solange sie noch nicht angelegt ist. | grün |
TestKorrekturLabel.test_ohne_csv_quelle_wird_abgefragt |
Prüft, dass bei einer Quelle ohne CSV angekündigt wird, dass der Speicherort beim ersten Speichern abgefragt wird. | grün |
TestKorrekturLabel.test_gewaehlter_pfad_wird_angezeigt |
Prüft, dass ein einmal gewählter Speicherort angezeigt wird. | grün |
TestKorrektur.test_korrektur_wird_festgehalten_und_angezeigt |
Prüft, dass eine Korrektur in die Korrektur-CSV geschrieben, sofort angezeigt und ohne Namen gemeldet wird. | grün |
TestKorrektur.test_ohne_aenderung_nichts_schreiben |
Prüft, dass ein unverändert gespeicherter Dialog nichts schreibt. | grün |
TestKorrektur.test_abbruch_nichts_schreiben |
Prüft, dass ein abgebrochener Korrekturdialog nichts schreibt. | grün |
TestKorrektur.test_schreibfehler_warnung_und_anzeige_unveraendert |
Prüft, dass bei einem Schreibfehler gewarnt, die Anzeige nicht geändert und der Pfad beim nächsten Mal neu bestimmt wird. | grün |
TestKorrektur.test_ohne_anzeige_keine_korrektur |
Prüft, dass ohne angezeigte Daten kein Korrekturdialog erscheint. | grün |
TestKorrekturDatei.test_vorschlag_neben_der_eigentuemerdatei |
Prüft, dass die Korrektur-CSV ohne Rückfrage neben der Eigentümerdatei liegt, wenn der Ordner beschreibbar ist, und gemerkt wird. | grün |
TestKorrekturDatei.test_ohne_csv_quelle_wird_gefragt |
Prüft, dass ohne verwertbare CSV-Quelle nach dem Speicherort gefragt wird; Abbrechen liefert keinen Pfad. | grün |
TestDockWidgetTabs.test_tab_ist_im_dockwidget_eingetragen |
Prüft, dass der Tab „Eigentümer“ im DockWidget direkt nach dem Bearbeitungs-Tab steht. | 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_flurstueck_suche.py
Worum es in der Datei geht: Tests für die Flurstückssuche im Layer „Flurstücke“ (#56).
Testgruppen:
TestEingabe(6 Testfälle): — (Docstring fehlt)TestSuche(6 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
TestEingabe.test_flurstuecksnummer_mit_und_ohne_nenner |
Prüft, dass Zähler und Nenner getrennt und führende Nullen entfernt werden. | grün |
TestEingabe.test_ungueltige_flurstuecksnummer |
Prüft, dass leere oder unzulässige Flurstücksnummern abgelehnt werden. | grün |
TestEingabe.test_kennzeichen_zerlegen |
Prüft, dass Gemarkung, Zähler und Nenner aus dem ALKIS-Kennzeichen gelesen werden. | grün |
TestEingabe.test_gemarkungsnummer_aus_ziffern |
Prüft, dass Ziffern als Gemarkungsnummer gelten, auch ohne führende Nullen oder als langer Schlüssel. | grün |
TestEingabe.test_gemarkungsname_ueber_gemarkungslayer |
Prüft, dass ein Gemarkungsname ohne Rücksicht auf Großschreibung in alle passenden Nummern übersetzt wird. | grün |
TestEingabe.test_gemarkungsname_ohne_layer_oder_unbekannt |
Prüft, dass ein Name ohne Gemarkungslayer oder ohne Treffer eine verständliche Meldung ergibt. | grün |
TestSuche.test_mit_nenner_genau_ein_treffer |
Prüft, dass mit Nenner nur das passende Flurstück der Gemarkung gefunden wird. | grün |
TestSuche.test_ohne_nenner_alle_mit_diesem_zaehler |
Prüft, dass ohne Nenner alle Flurstücke mit dem Zähler gefunden werden, aber nur in der gesuchten Gemarkung. | grün |
TestSuche.test_kein_treffer |
Prüft, dass ein nicht vorhandenes Flurstück eine leere Trefferliste ergibt. | grün |
TestSuche.test_layer_ohne_kennzeichenfeld |
Prüft, dass ein Flurstückslayer ohne Feld „flurstueckskennzeichen“ gemeldet wird. | grün |
TestSuche.test_fehlender_flurstueckslayer_bricht_ab |
Prüft, dass die Suche ohne Layer „Flurstücke“ mit dem Hinweis abbricht, zuerst Verfahrensgebiet und Flurstücke zu laden. | grün |
TestSuche.test_suche_im_projekt_mit_gemarkungsname |
Prüft, dass die Suche im Projekt den Gemarkungsnamen auflöst und Layer samt Treffern liefert. | grün |
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_dialoge.py
Worum es in der Datei geht: Tests für die gemeinsame Auswahltabelle in verfahrensgebiet_dialoge (#56).
Testgruppen:
TestAuswahltabelle(2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
|---|---|---|
TestAuswahltabelle.test_suchfilter_ueber_alle_spalten |
Prüft, dass der Suchfilter Teilstrings in jeder Spalte ohne Groß-/Kleinschreibung findet und leer alles zeigt. | grün |
TestAuswahltabelle.test_auswahl_nach_umsortieren |
Prüft, dass die Auswahl über den gespeicherten Index auf die ursprünglichen Zeilen zurückgeführt wird, auch wenn die Tabelle umsortiert ist. | grün |
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)TestZoomImProjektKbs(2 Testfälle): Zoom auf das neue Verfahrensgebiet rechnet in das KBS der Kartenansicht um (Basis #99).
| 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 |
TestZoomImProjektKbs.test_alkis_zoom_ueber_zoom_auf_layer |
Prüft, dass nach dem Laden aus ALKIS über zoom_auf_layer auf das Verfahrensgebiet gezoomt wird und nicht mit der unumgerechneten Layer-Ausdehnung. | grün |
TestZoomImProjektKbs.test_shape_zoom_ueber_zoom_auf_layer |
Prüft, dass nach dem Laden aus einem Shape über zoom_auf_layer auf das Verfahrensgebiet gezoomt wird und nicht mit der unumgerechneten Layer-Ausdehnung. | grün |
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 490 Testfällen ohne Beschreibung
Keine Lücken.
sn_verfahrensgebiet – 102 von 289 Testfällen ohne Beschreibung
Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py (25 von 25)
TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullenTestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichenTestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichenTestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuelltTestBaueFlurstueckCsv.test_ungueltiges_format_gibt_noneTestBaueFlurstueckCsv.test_leerer_wert_gibt_noneTestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_aTestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_bTestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_zTestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerischTestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkanntTestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuelltTestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_listeTestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahlTestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layerTestHoleVerfahrensgebietLayer.test_kein_layer_gibt_noneTestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichenTestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummerTestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_anTestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_anTestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_anTestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_noneTestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehlerTestLadeBeteiligungCsv.test_leere_datei_wirft_fehlerTestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck
Plugin_SN_Verfahrensgebiet/tests/test_dockwidget.py (2 von 2) – auch der Modul-Docstring fehlt
TestDockWidget.test_init_tabs_with_services_injects_available_servicesTestDockWidget.test_init_tabs_with_services_reports_errors
Plugin_SN_Verfahrensgebiet/tests/test_gemarkung_alkis.py (6 von 14)
TestExtractSchluesselUndName.test_standard_attributeTestExtractSchluesselUndName.test_fallback_attributeTestExtractSchluesselUndName.test_missing_attribute_returns_emptyTestExtractSchluesselUndName.test_none_value_returns_emptyTestGemarkungSchluesselnurNummern.test_returns_only_nummernTestGemarkungSchluesselnurNummern.test_empty_input_returns_empty
Plugin_SN_Verfahrensgebiet/tests/test_grenzpunkt_alkis.py (6 von 13)
TestGrenzpunktAlkis.test_no_vg_layer_returns_noneTestGrenzpunktAlkis.test_invalid_punktort_layerTestGrenzpunktAlkis.test_empty_punktort_layerTestGrenzpunktAlkis.test_no_gml_ids_returns_pta_onlyTestGrenzpunktAlkis.test_grenzpunkt_batch_emptyTestGrenzpunktAlkis.test_success_returns_both_layers
Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py (6 von 13)
TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_listeTestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_listeTestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_listeTestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueckTestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueckTestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck
Plugin_SN_Verfahrensgebiet/tests/test_main.py (4 von 4) – auch der Modul-Docstring fehlt
TestPluginMain.test_init_sets_services_and_namesTestPluginMain.test_initGui_registers_action_when_basis_ui_existsTestPluginMain.test_run_creates_dock_and_marks_toolbar_activeTestPluginMain.test_unload_removes_dock_and_action
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py (4 von 8) – auch der Modul-Docstring fehlt
TestVerfahrensgebietAlkis.test_check_existing_layer_first_loadTestVerfahrensgebietAlkis.test_check_existing_layer_keep_existingTestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missingTestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis_komplett.py (19 von 30)
TestSelectByLocation.test_processing_not_available_returns_zeroTestSelectByLocation.test_processing_success_returns_countTestSelectByLocation.test_processing_exception_returns_zeroTestFuegeVkzFeldHinzu.test_empty_vkz_does_nothingTestFuegeVkzFeldHinzu.test_none_vkz_does_nothingTestFuegeVkzFeldHinzu.test_vkz_field_addedTestFlaechenvergleich.test_gleiche_flaeche_stimmt_uebereinTestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_uebereinTestFlaechenvergleich.test_differenz_innerhalb_toleranzTestFlaechenvergleich.test_differenz_ausserhalb_toleranzTestFlaechenvergleich.test_flaechen_werte_korrektTestFlaechenvergleich.test_lese_toleranz_default_ist_nullTestFlaechenvergleich.test_lese_toleranz_parst_stringTestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_nullTestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_abortsTestVerfahrensgebietAlkisKomplett.test_flst_none_abortsTestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enrichedTestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_noneTestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py (4 von 21)
TestPruefeAuswahl.test_no_selection_failsTestPruefeAuswahl.test_with_selection_passesTestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zeroTestGetKennzeichenMenge.test_empty_layer_returns_empty_set
Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py (20 von 31)
TestFindShp.test_findet_shp_in_rootTestFindShp.test_findet_shp_in_unterordnerTestFindShp.test_kein_shp_gibt_none_zurueckTestFindShp.test_case_insensitive_erkennungTestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_noneTestErstelleMemoryLayerAusShp.test_keine_features_gibt_noneTestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueckTestLadeVgAusZip.test_zip_fehler_gibt_none_und_warningTestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warningTestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warningTestLadeVgAusZip.test_leere_geometrien_geben_none_und_warningTestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueckTestVerfahrensgebietShapeKomplett.test_lade_zip_none_abortsTestVerfahrensgebietShapeKomplett.test_flst_none_abortsTestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warningTestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialogTestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueckTestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_aufTestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehlerTestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt
Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py (6 von 35) – auch der Modul-Docstring fehlt
TestWorkingTab.test_set_busy_updates_button_stateTestWorkingTab.test_on_verf_layer_changed_valid_sets_variableTestWorkingTab.test_on_verf_layer_changed_none_clears_variableTestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_styleTestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_pathTestWorkingTab.test_aus_liste_button_shows_not_implemented_hint
sn_plan41 – 43 von 44 Testfällen ohne Beschreibung
Plugin_SN_Plan41/tests/test_listenauswerter.py (4 von 4) – auch der Modul-Docstring fehlt
TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_providerTestListenauswerter.test_validate_rows_rejects_missing_required_fieldsTestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failureTestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case
Plugin_SN_Plan41/tests/test_tab_a_logic.py (9 von 9) – auch der Modul-Docstring fehlt
TestTabALogic.test_verfahrens_db_set_and_load_roundtripTestTabALogic.test_verfahrens_db_clearTestTabALogic.test_linkliste_set_and_load_existing_pathTestTabALogic.test_linkliste_load_returns_none_when_file_missingTestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persistsTestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejectsTestTabALogic.test_resolve_raumfilter_without_filter_returns_noneTestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookupTestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps
Plugin_SN_Plan41/tests/test_tab_a_preconditions.py (3 von 3) – auch der Modul-Docstring fehlt
TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missingTestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_projectTestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing
Plugin_SN_Plan41/tests/test_tab_a_ui.py (3 von 3) – auch der Modul-Docstring fehlt
TestTabAUI.test_tab_a_callbacks_can_be_called_without_crashTestTabAUI.test_tab_a_raumfilter_callback_persists_valueTestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber
Plugin_SN_Plan41/tests/test_vln_api_logic.py (24 von 25)
TestVlnApiLogicAvailability.test_is_available_reflects_import_stateTestVlnApiLogicCredentials.test_save_api_key_calls_qsettingsTestVlnApiLogicCredentials.test_clear_api_key_calls_removeTestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mailTestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_emptyTestVlnApiLogicLogin.test_login_sets_client_and_saves_keyTestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modulesTestVlnApiLogicLogin.test_login_propagates_api_errorTestVlnApiLogicLogin.test_logout_clears_clientTestVlnApiLogicLogin.test_is_authenticated_false_after_logoutTestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_clientTestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticatedTestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_clientTestVlnApiLogicVkz.test_load_stored_vkz_reads_from_projectTestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_emptyTestVlnApiLogicVkz.test_save_vkz_writes_to_projectTestVlnApiLogicVkz.test_save_vkz_does_nothing_for_noneTestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_kartenTestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layersTestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layerTestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_pathTestVlnApiLogicUpload.test_upload_returns_error_for_none_layerTestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modulesTestVlnApiLogicUpload.test_upload_calls_save_feature_collection