Prüfstand: Statistik-Kacheln je Paket, beabsichtigt/ungeklärt-Indikator
Jedes Paket zeigt jetzt dieselben Kennzahl-Kacheln wie die Gesamtübersicht (Testdateien, Testfälle, grün/rot/übersprungen, mit Docstring, geprüft, ohne Testbezug) statt eines Fließtexts. Ungetestete Funktionen werden per Docstring-Auswertung als "beabsichtigt" (Vermerk "von Test abgesehen, weil …" oder "Test ausgesetzt, zunächst Refactor") oder "ungeklärt" markiert - in Markdown als Anmerkung je Funktion, im Prüfstand als Pille mit Tooltip (Begründung). Der Abschnitt "Ungetestete Funktionen" ist im Prüfstand jetzt eine ausklappbare Karte wie eine Testdatei, mit eigener Kennzahl-Übersicht (Anzahl, ungeklärt, beabsichtigt) im Kopf - bewusst von den Filter-Chips ausgenommen (.gapcard), da diese sich auf Testfall-Status beziehen, nicht auf Quellcode-Funktionen. Neue Funktion absichtlicher_verzicht() plus 6 neue Tests in scripts/tests/test_testkatalog_quellfunktionen.py. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+15
-172
File diff suppressed because one or more lines are too long
+154
-153
@@ -32,7 +32,7 @@ Strukturelle Lücken (heuristisch, Namensabgleich): 149 von 413 (36 %) Funktione
|
||||
- **übersprungen** – per `@unittest.skip`/`skipIf`/`skipUnless` abgeschaltet; der Grund steht dabei.
|
||||
- Ein Testfall heißt `Testgruppe.test_name`; die Testgruppe fasst zusammengehörige Testfälle einer Datei zusammen.
|
||||
- **geprüft** – Prüf-Audit (`scripts/test_audit.py`): **nie geprüft** kein Eintrag in `docs/status/testpruefungen.json`; **geprüft am …** ein Mensch hat den Testfall bestätigt und der Testcode hat sich seither nicht geändert; **veraltet seit Änderung …** der Testcode wurde nach der letzten Prüfung geändert.
|
||||
- **ohne Testbezug** – Funktionen/Methoden im Quellcode, deren Name in keiner Testdatei des Pakets vorkommt (weder als Aufruf noch als `mock.patch("…")`-Ziel). Ein Namensabgleich, kein Ausführungsnachweis – siehe Abschnitt „Ungetestete Funktionen“ für die Grenzen dieser Heuristik. Das ist bewusst **keine** Zeilen-Coverage in Prozent (siehe ADR 0009, „Verworfene Alternativen“), sondern eine Lückenliste wie bei fehlenden Beschreibungen.
|
||||
- **ohne Testbezug** – Funktionen/Methoden im Quellcode, deren Name in keiner Testdatei des Pakets vorkommt (weder als Aufruf noch als `mock.patch("…")`-Ziel). Ein Namensabgleich, kein Ausführungsnachweis – siehe Abschnitt „Ungetestete Funktionen“ für die Grenzen dieser Heuristik. Das ist bewusst **keine** Zeilen-Coverage in Prozent (siehe ADR 0009, „Verworfene Alternativen“), sondern eine Lückenliste wie bei fehlenden Beschreibungen. Davon **beabsichtigt** – der Docstring dokumentiert den Testverzicht; **ungeklärt** – weder Test noch Vermerk, die eigentliche Arbeitsliste.
|
||||
|
||||
## Paket `sn_basis`
|
||||
|
||||
@@ -1440,258 +1440,259 @@ Keine Lücken.
|
||||
## Ungetestete Funktionen (strukturelle Lücke)
|
||||
|
||||
Heuristik, kein Beweis: Diese Funktionen und Methoden kommen unter ihrem Namen in keiner Testdatei des Pakets vor. Das schließt nicht aus, dass sie indirekt über eine andere, getestete Funktion mitlaufen – umgekehrt gilt: Taucht der Name irgendwo in einer Testdatei auf, gilt die Funktion schon als referenziert, auch bei zufälliger Namensgleichheit mit etwas anderem. `main.py`/`__init__.py` (QGIS-Einstiegspunkte wie `classFactory`, `initGui`, `unload`) und Dunder-Methoden sind ausgenommen. Diese Liste ersetzt keine fachliche Prüfung, ob ein Test sinnvoll wäre – dafür braucht es einen Menschen, der die Funktion kennt.
|
||||
„beabsichtigt“ liest den Docstring der Funktion: Enthält er einen Vermerk wie „von Test abgesehen, weil …“ oder „Test ausgesetzt, zunächst Refactor“, gilt der fehlende Test als bewusste Entscheidung. Alles andere ist „ungeklärt“ – die eigentliche Arbeitsliste.
|
||||
|
||||
### `sn_basis` – 76 von 229 (33 %) ohne Testbezug
|
||||
### `sn_basis` – 76 von 229 (33 %) ohne Testbezug (9 ungeklärt, 67 beabsichtigt)
|
||||
|
||||
#### `functions/dialog_wrapper.py` (9)
|
||||
|
||||
- `show_info_dialog` (Zeile 42)
|
||||
- `ask_detailpruefung_oder_vg_laden` (Zeile 192)
|
||||
- `ask_detailpruefung_oder_abbrechen` (Zeile 244)
|
||||
- `ProgressDialog.set_total` (Zeile 339)
|
||||
- `ProgressDialog.set_value` (Zeile 348)
|
||||
- `ProgressDialog.set_label` (Zeile 361)
|
||||
- `ProgressDialog.is_canceled` (Zeile 371)
|
||||
- `ProgressDialog.raise_to_front` (Zeile 389)
|
||||
- `create_progress_dialog` (Zeile 408)
|
||||
- `show_info_dialog` (Zeile 42) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `ask_detailpruefung_oder_vg_laden` (Zeile 192) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `ask_detailpruefung_oder_abbrechen` (Zeile 244) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `ProgressDialog.set_total` (Zeile 339) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `ProgressDialog.set_value` (Zeile 348) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `ProgressDialog.set_label` (Zeile 361) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `ProgressDialog.is_canceled` (Zeile 371) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `ProgressDialog.raise_to_front` (Zeile 389) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `create_progress_dialog` (Zeile 408) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
#### `functions/message_wrapper.py` (2)
|
||||
|
||||
- `info` (Zeile 67)
|
||||
- `success` (Zeile 84)
|
||||
- `info` (Zeile 67) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `success` (Zeile 84) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
#### `functions/os_wrapper.py` (5)
|
||||
|
||||
- `normalize_path` (Zeile 43)
|
||||
- `get_home_dir` (Zeile 55)
|
||||
- `is_absolute_path` (Zeile 64)
|
||||
- `basename` (Zeile 75)
|
||||
- `path_suffix` (Zeile 106)
|
||||
- `normalize_path` (Zeile 43) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `get_home_dir` (Zeile 55) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `is_absolute_path` (Zeile 64) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `basename` (Zeile 75) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `path_suffix` (Zeile 106) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
#### `functions/qgisui_wrapper.py` (1)
|
||||
|
||||
- `add_toolbar` (Zeile 204)
|
||||
- `add_toolbar` (Zeile 204) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
#### `functions/qt_wrapper.py` (2)
|
||||
|
||||
- `exec_dialog` (Zeile 60)
|
||||
- `debug_qt_status` (Zeile 67)
|
||||
- `exec_dialog` (Zeile 60) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `debug_qt_status` (Zeile 67) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
#### `modules/DataGrabber.py` (3)
|
||||
|
||||
- `DataGrabber.set_source` (Zeile 68)
|
||||
- `DataGrabber._process_database_source` (Zeile 312)
|
||||
- `DataGrabber._process_service_source` (Zeile 324)
|
||||
- `DataGrabber.set_source` (Zeile 68) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `DataGrabber._process_database_source` (Zeile 312) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `DataGrabber._process_service_source` (Zeile 324) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
#### `modules/Dateipruefer.py` (2)
|
||||
|
||||
- `Dateipruefer._ist_leer` (Zeile 98)
|
||||
- `Dateipruefer._handle_leere_eingabe` (Zeile 227)
|
||||
- `Dateipruefer._ist_leer` (Zeile 98) — ungeklärt
|
||||
- `Dateipruefer._handle_leere_eingabe` (Zeile 227) — ungeklärt
|
||||
|
||||
#### `modules/Datenschreiber.py` (1)
|
||||
|
||||
- `Datenschreiber._store_style_in_gpkg` (Zeile 77)
|
||||
- `Datenschreiber._store_style_in_gpkg` (Zeile 77) — ungeklärt
|
||||
|
||||
#### `modules/LayerLoader.py` (2)
|
||||
|
||||
- `LayerLoader._was_canceled` (Zeile 42)
|
||||
- `LayerLoader._process_events` (Zeile 51)
|
||||
- `LayerLoader._was_canceled` (Zeile 42) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `LayerLoader._process_events` (Zeile 51) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
#### `modules/linkpruefer.py` (3)
|
||||
|
||||
- `Linkpruefer._ist_url` (Zeile 41)
|
||||
- `Linkpruefer._pruefe_url` (Zeile 81)
|
||||
- `Linkpruefer._pruefe_dateipfad` (Zeile 115)
|
||||
- `Linkpruefer._ist_url` (Zeile 41) — ungeklärt
|
||||
- `Linkpruefer._pruefe_url` (Zeile 81) — ungeklärt
|
||||
- `Linkpruefer._pruefe_dateipfad` (Zeile 115) — ungeklärt
|
||||
|
||||
#### `modules/print_layout.py` (11)
|
||||
|
||||
- `PrintLayout._create_map_item` (Zeile 98)
|
||||
- `PrintLayout._set_item_frame_stroke_width` (Zeile 120)
|
||||
- `PrintLayout._fit_extent_to_map_item` (Zeile 156)
|
||||
- `PrintLayout.add_text_label` (Zeile 214)
|
||||
- `PrintLayout._setup_layout_objects` (Zeile 246)
|
||||
- `PrintLayout._create_label_item` (Zeile 378)
|
||||
- `PrintLayout._resolve_visible_map_layers` (Zeile 476)
|
||||
- `PrintLayout._apply_grid_common_settings` (Zeile 798)
|
||||
- `PrintLayout._safe_grid_call` (Zeile 805)
|
||||
- `PrintLayout._apply_grid_annotation_text_style` (Zeile 817)
|
||||
- `PrintLayout._create_rectangle_box_item` (Zeile 918)
|
||||
- `PrintLayout._create_map_item` (Zeile 98) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._set_item_frame_stroke_width` (Zeile 120) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._fit_extent_to_map_item` (Zeile 156) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout.add_text_label` (Zeile 214) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._setup_layout_objects` (Zeile 246) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._create_label_item` (Zeile 378) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._resolve_visible_map_layers` (Zeile 476) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._apply_grid_common_settings` (Zeile 798) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._safe_grid_call` (Zeile 805) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._apply_grid_annotation_text_style` (Zeile 817) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayout._create_rectangle_box_item` (Zeile 918) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
|
||||
#### `modules/print_layout_baufreigabe.py` (3)
|
||||
|
||||
- `PrintLayoutBaufreigabe.create_baufreigabe_layout` (Zeile 90)
|
||||
- `PrintLayoutBaufreigabe._setup_layout_objects_baufreigabe` (Zeile 264)
|
||||
- `PrintLayoutBaufreigabe._calc_atlas_margin_percent` (Zeile 398)
|
||||
- `PrintLayoutBaufreigabe.create_baufreigabe_layout` (Zeile 90) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayoutBaufreigabe._setup_layout_objects_baufreigabe` (Zeile 264) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLayoutBaufreigabe._calc_atlas_margin_percent` (Zeile 398) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
|
||||
#### `modules/print_logic.py` (20)
|
||||
|
||||
- `PrintLogic._failed_result` (Zeile 123)
|
||||
- `PrintLogic._show_target_size_too_small` (Zeile 127)
|
||||
- `PrintLogic._is_enabled_flag` (Zeile 135)
|
||||
- `PrintLogic._resolve_layer_from_project` (Zeile 141)
|
||||
- `PrintLogic._resolve_active_layer` (Zeile 162)
|
||||
- `PrintLogic._get_druckpuffer_cm` (Zeile 172)
|
||||
- `PrintLogic._get_druckpuffer_m` (Zeile 181)
|
||||
- `PrintLogic._import_qgis_symbol` (Zeile 185)
|
||||
- `PrintLogic._build_rectangle` (Zeile 193)
|
||||
- `PrintLogic._clone_extent` (Zeile 203)
|
||||
- `PrintLogic._get_existing_layer_by_name` (Zeile 270)
|
||||
- `PrintLogic._create_druckrechteck_layer` (Zeile 284)
|
||||
- `PrintLogic._clear_layer_features` (Zeile 313)
|
||||
- `PrintLogic.configure_atlas_for_baufreigabe_layout` (Zeile 483)
|
||||
- `PrintLogic._store_druckrechteck` (Zeile 631)
|
||||
- `PrintLogic.activate_druckrechteck_capture` (Zeile 680)
|
||||
- `PrintLogic._resolve_selection_layer` (Zeile 811)
|
||||
- `PrintLogic._get_selected_extent` (Zeile 825)
|
||||
- `PrintLogic._get_plot_dimensions_mm` (Zeile 1078)
|
||||
- `PrintLogic._get_required_map_dimensions_mm` (Zeile 1088)
|
||||
- `PrintLogic._failed_result` (Zeile 123) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._show_target_size_too_small` (Zeile 127) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._is_enabled_flag` (Zeile 135) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._resolve_layer_from_project` (Zeile 141) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._resolve_active_layer` (Zeile 162) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._get_druckpuffer_cm` (Zeile 172) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._get_druckpuffer_m` (Zeile 181) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._import_qgis_symbol` (Zeile 185) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._build_rectangle` (Zeile 193) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._clone_extent` (Zeile 203) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._get_existing_layer_by_name` (Zeile 270) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._create_druckrechteck_layer` (Zeile 284) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._clear_layer_features` (Zeile 313) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic.configure_atlas_for_baufreigabe_layout` (Zeile 483) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._store_druckrechteck` (Zeile 631) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic.activate_druckrechteck_capture` (Zeile 680) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._resolve_selection_layer` (Zeile 811) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._get_selected_extent` (Zeile 825) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._get_plot_dimensions_mm` (Zeile 1078) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
- `PrintLogic._get_required_map_dimensions_mm` (Zeile 1088) — **beabsichtigt:** Test ausgesetzt, zunächst Refactor
|
||||
|
||||
#### `modules/Pruefmanager.py` (5)
|
||||
|
||||
- `Pruefmanager.report_summary` (Zeile 45)
|
||||
- `Pruefmanager.zeige_hinweis` (Zeile 63)
|
||||
- `Pruefmanager._handle_datei_existiert` (Zeile 87)
|
||||
- `Pruefmanager._handle_verfahrensgebiet_layer_existiert` (Zeile 234)
|
||||
- `Pruefmanager._ask_use_or_replace_pufferlayer` (Zeile 277)
|
||||
- `Pruefmanager.report_summary` (Zeile 45) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `Pruefmanager.zeige_hinweis` (Zeile 63) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `Pruefmanager._handle_datei_existiert` (Zeile 87) — ungeklärt
|
||||
- `Pruefmanager._handle_verfahrensgebiet_layer_existiert` (Zeile 234) — ungeklärt
|
||||
- `Pruefmanager._ask_use_or_replace_pufferlayer` (Zeile 277) — ungeklärt
|
||||
|
||||
#### `ui/tabs/print_tab.py` (7)
|
||||
|
||||
- `PrintTab._build_ui` (Zeile 115)
|
||||
- `PrintTab._on_kartenname_changed` (Zeile 335)
|
||||
- `PrintTab._on_massstab_changed` (Zeile 349)
|
||||
- `PrintTab._on_zielgroesse_changed` (Zeile 361)
|
||||
- `PrintTab._on_formfaktor_changed` (Zeile 367)
|
||||
- `PrintTab._on_druckbereich_changed` (Zeile 374)
|
||||
- `PrintTab._format_druckpuffer_label` (Zeile 432)
|
||||
- `PrintTab._build_ui` (Zeile 115) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `PrintTab._on_kartenname_changed` (Zeile 335) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `PrintTab._on_massstab_changed` (Zeile 349) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `PrintTab._on_zielgroesse_changed` (Zeile 361) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `PrintTab._on_formfaktor_changed` (Zeile 367) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `PrintTab._on_druckbereich_changed` (Zeile 374) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
- `PrintTab._format_druckpuffer_label` (Zeile 432) — **beabsichtigt:** von Test abgesehen, weil vernachlässigbar; HD 18.09.2026
|
||||
|
||||
### `sn_verfahrensgebiet` – 34 von 104 (33 %) ohne Testbezug
|
||||
### `sn_verfahrensgebiet` – 34 von 104 (33 %) ohne Testbezug (34 ungeklärt, 0 beabsichtigt)
|
||||
|
||||
#### `functions/beteiligung_pruefung.py` (5)
|
||||
|
||||
- `_baue_nenner_kennzeichen` (Zeile 139)
|
||||
- `_hole_flurstuecke_layer` (Zeile 253)
|
||||
- `_flurstueckskennzeichen_geometrien` (Zeile 258)
|
||||
- `_try1_listenabgleich` (Zeile 279)
|
||||
- `_lese_vef_vkzf` (Zeile 380)
|
||||
- `_baue_nenner_kennzeichen` (Zeile 139) — ungeklärt
|
||||
- `_hole_flurstuecke_layer` (Zeile 253) — ungeklärt
|
||||
- `_flurstueckskennzeichen_geometrien` (Zeile 258) — ungeklärt
|
||||
- `_try1_listenabgleich` (Zeile 279) — ungeklärt
|
||||
- `_lese_vef_vkzf` (Zeile 380) — ungeklärt
|
||||
|
||||
#### `functions/flurstueck_alkis.py` (1)
|
||||
|
||||
- `_vorhandene_kennzeichen` (Zeile 80)
|
||||
- `_vorhandene_kennzeichen` (Zeile 80) — ungeklärt
|
||||
|
||||
#### `functions/gemarkung_alkis.py` (1)
|
||||
|
||||
- `gemarkung_schluessel_von_vg_geometrie` (Zeile 212)
|
||||
- `gemarkung_schluessel_von_vg_geometrie` (Zeile 212) — ungeklärt
|
||||
|
||||
#### `functions/grenzpunkt_alkis.py` (4)
|
||||
|
||||
- `_punktort_ta_bbox_param` (Zeile 115)
|
||||
- `_hat_geometrie` (Zeile 573)
|
||||
- `_lade_gemarkung_extents_mit_puffer` (Zeile 637)
|
||||
- `_lade_punktort_ta_batches_per_gemarkung` (Zeile 784)
|
||||
- `_punktort_ta_bbox_param` (Zeile 115) — ungeklärt
|
||||
- `_hat_geometrie` (Zeile 573) — ungeklärt
|
||||
- `_lade_gemarkung_extents_mit_puffer` (Zeile 637) — ungeklärt
|
||||
- `_lade_punktort_ta_batches_per_gemarkung` (Zeile 784) — ungeklärt
|
||||
|
||||
#### `functions/knickpunkt_pruefung.py` (2)
|
||||
|
||||
- `_setze_kategorien_symbologie` (Zeile 158)
|
||||
- `erstelle_korrigiertes_polygon` (Zeile 604)
|
||||
- `_setze_kategorien_symbologie` (Zeile 158) — ungeklärt
|
||||
- `erstelle_korrigiertes_polygon` (Zeile 604) — ungeklärt
|
||||
|
||||
#### `functions/umringspruefung.py` (3)
|
||||
|
||||
- `_zerlege_in_teile` (Zeile 55)
|
||||
- `_setze_kategorien_symbologie` (Zeile 112)
|
||||
- `umringspruefung` (Zeile 152)
|
||||
- `_zerlege_in_teile` (Zeile 55) — ungeklärt
|
||||
- `_setze_kategorien_symbologie` (Zeile 112) — ungeklärt
|
||||
- `umringspruefung` (Zeile 152) — ungeklärt
|
||||
|
||||
#### `functions/umringstatistik_grenzpunkte.py` (3)
|
||||
|
||||
- `_setze_kategorien_symbologie` (Zeile 74)
|
||||
- `_klassifiziere` (Zeile 119)
|
||||
- `umringstatistik_grenzpunkte` (Zeile 164)
|
||||
- `_setze_kategorien_symbologie` (Zeile 74) — ungeklärt
|
||||
- `_klassifiziere` (Zeile 119) — ungeklärt
|
||||
- `umringstatistik_grenzpunkte` (Zeile 164) — ungeklärt
|
||||
|
||||
#### `functions/verfahrensgebiet_alkis.py` (1)
|
||||
|
||||
- `_baue_layer_aus_kombinationen` (Zeile 144)
|
||||
- `_baue_layer_aus_kombinationen` (Zeile 144) — ungeklärt
|
||||
|
||||
#### `functions/verfahrensgebiet_alkis_komplett.py` (2)
|
||||
|
||||
- `_entferne_hilfs_layer` (Zeile 100)
|
||||
- `_flaeche_des_layers` (Zeile 210)
|
||||
- `_entferne_hilfs_layer` (Zeile 100) — ungeklärt
|
||||
- `_flaeche_des_layers` (Zeile 210) — ungeklärt
|
||||
|
||||
#### `functions/verfahrensgebiet_dialoge.py` (1)
|
||||
|
||||
- `ask_landkreis_objekte` (Zeile 101)
|
||||
- `ask_landkreis_objekte` (Zeile 101) — ungeklärt
|
||||
|
||||
#### `functions/verfahrensgebiet_shape_komplett.py` (6)
|
||||
|
||||
- `_normalisiere_feldname` (Zeile 110)
|
||||
- `_finde_fbschl_index` (Zeile 132)
|
||||
- `_ermittle_gebietstyp_aus_fbschl` (Zeile 161)
|
||||
- `_wende_vergleich_stil_an` (Zeile 211)
|
||||
- `_erstelle_vergleich_layer` (Zeile 251)
|
||||
- `_finde_alle_shp` (Zeile 342)
|
||||
- `_normalisiere_feldname` (Zeile 110) — ungeklärt
|
||||
- `_finde_fbschl_index` (Zeile 132) — ungeklärt
|
||||
- `_ermittle_gebietstyp_aus_fbschl` (Zeile 161) — ungeklärt
|
||||
- `_wende_vergleich_stil_an` (Zeile 211) — ungeklärt
|
||||
- `_erstelle_vergleich_layer` (Zeile 251) — ungeklärt
|
||||
- `_finde_alle_shp` (Zeile 342) — ungeklärt
|
||||
|
||||
#### `ui/tabs/working_tab.py` (5)
|
||||
|
||||
- `WorkingTab.handle_beteiligung_pruefen` (Zeile 297)
|
||||
- `WorkingTab._haken_label` (Zeile 349)
|
||||
- `WorkingTab._restore_verf_layer_selection` (Zeile 374)
|
||||
- `WorkingTab._uebernimm_flurstuecke_ergebnis` (Zeile 390)
|
||||
- `WorkingTab.handle_umringstatistik` (Zeile 777)
|
||||
- `WorkingTab.handle_beteiligung_pruefen` (Zeile 297) — ungeklärt
|
||||
- `WorkingTab._haken_label` (Zeile 349) — ungeklärt
|
||||
- `WorkingTab._restore_verf_layer_selection` (Zeile 374) — ungeklärt
|
||||
- `WorkingTab._uebernimm_flurstuecke_ergebnis` (Zeile 390) — ungeklärt
|
||||
- `WorkingTab.handle_umringstatistik` (Zeile 777) — ungeklärt
|
||||
|
||||
### `sn_plan41` – 39 von 80 (49 %) ohne Testbezug
|
||||
### `sn_plan41` – 39 von 80 (49 %) ohne Testbezug (39 ungeklärt, 0 beabsichtigt)
|
||||
|
||||
#### `modules/vln_api_client.py` (3)
|
||||
|
||||
- `KartenApiClient.load_feature_collection` (Zeile 154)
|
||||
- `KartenApiClient._request` (Zeile 176)
|
||||
- `KartenApiClient._error_detail` (Zeile 235)
|
||||
- `KartenApiClient.load_feature_collection` (Zeile 154) — ungeklärt
|
||||
- `KartenApiClient._request` (Zeile 176) — ungeklärt
|
||||
- `KartenApiClient._error_detail` (Zeile 235) — ungeklärt
|
||||
|
||||
#### `modules/vln_api_logic.py` (4)
|
||||
|
||||
- `VlnApiLogic.get_p41_layers` (Zeile 233)
|
||||
- `VlnApiLogic.remove_p41_layers` (Zeile 237)
|
||||
- `VlnApiLogic._apply_p41_styles` (Zeile 277)
|
||||
- `VlnApiLogic.upload_summary` (Zeile 347)
|
||||
- `VlnApiLogic.get_p41_layers` (Zeile 233) — ungeklärt
|
||||
- `VlnApiLogic.remove_p41_layers` (Zeile 237) — ungeklärt
|
||||
- `VlnApiLogic._apply_p41_styles` (Zeile 277) — ungeklärt
|
||||
- `VlnApiLogic.upload_summary` (Zeile 347) — ungeklärt
|
||||
|
||||
#### `modules/vln_layer_manager.py` (2)
|
||||
|
||||
- `_family` (Zeile 58)
|
||||
- `memory_layer_from_features` (Zeile 73)
|
||||
- `_family` (Zeile 58) — ungeklärt
|
||||
- `memory_layer_from_features` (Zeile 73) — ungeklärt
|
||||
|
||||
#### `ui/dockwidget.py` (1)
|
||||
|
||||
- `DockWidget._init_tabs_with_services` (Zeile 42)
|
||||
- `DockWidget._init_tabs_with_services` (Zeile 42) — ungeklärt
|
||||
|
||||
#### `ui/tab_a_logic.py` (15)
|
||||
|
||||
- `TabALogic._log` (Zeile 90)
|
||||
- `TabALogic._create_silent_pruefmanager` (Zeile 93)
|
||||
- `TabALogic._zeige_verfahrensgebiet_hinweis` (Zeile 127)
|
||||
- `TabALogic._close_progress_dialog` (Zeile 139)
|
||||
- `TabALogic.write_layer_to_verfahrens_db` (Zeile 169)
|
||||
- `TabALogic.is_valid_verfahrensgebiet_layer` (Zeile 242)
|
||||
- `TabALogic._load_dienste_aus_result_dict` (Zeile 391)
|
||||
- `TabALogic._create_local_layer_from_fetched_features` (Zeile 639)
|
||||
- `TabALogic._write_html_log` (Zeile 779)
|
||||
- `TabALogic._clone_layer_with_extent` (Zeile 934)
|
||||
- `TabALogic._handle_pufferlayer` (Zeile 1062)
|
||||
- `TabALogic._load_existing_pufferlayer` (Zeile 1084)
|
||||
- `TabALogic._create_pufferlayer` (Zeile 1092)
|
||||
- `TabALogic._pufferlayer_exists_in_source` (Zeile 1119)
|
||||
- `TabALogic.Pufferlayer_erstellen` (Zeile 1133)
|
||||
- `TabALogic._log` (Zeile 90) — ungeklärt
|
||||
- `TabALogic._create_silent_pruefmanager` (Zeile 93) — ungeklärt
|
||||
- `TabALogic._zeige_verfahrensgebiet_hinweis` (Zeile 127) — ungeklärt
|
||||
- `TabALogic._close_progress_dialog` (Zeile 139) — ungeklärt
|
||||
- `TabALogic.write_layer_to_verfahrens_db` (Zeile 169) — ungeklärt
|
||||
- `TabALogic.is_valid_verfahrensgebiet_layer` (Zeile 242) — ungeklärt
|
||||
- `TabALogic._load_dienste_aus_result_dict` (Zeile 391) — ungeklärt
|
||||
- `TabALogic._create_local_layer_from_fetched_features` (Zeile 639) — ungeklärt
|
||||
- `TabALogic._write_html_log` (Zeile 779) — ungeklärt
|
||||
- `TabALogic._clone_layer_with_extent` (Zeile 934) — ungeklärt
|
||||
- `TabALogic._handle_pufferlayer` (Zeile 1062) — ungeklärt
|
||||
- `TabALogic._load_existing_pufferlayer` (Zeile 1084) — ungeklärt
|
||||
- `TabALogic._create_pufferlayer` (Zeile 1092) — ungeklärt
|
||||
- `TabALogic._pufferlayer_exists_in_source` (Zeile 1119) — ungeklärt
|
||||
- `TabALogic.Pufferlayer_erstellen` (Zeile 1133) — ungeklärt
|
||||
|
||||
#### `ui/tab_a_ui.py` (14)
|
||||
|
||||
- `TabA._build_ui` (Zeile 113)
|
||||
- `TabA._restore_state` (Zeile 274)
|
||||
- `TabA._restore_vln_state` (Zeile 296)
|
||||
- `TabA._toggle_vln_group` (Zeile 307)
|
||||
- `TabA._update_vln_ui_state` (Zeile 311)
|
||||
- `TabA._populate_verfahren_combo` (Zeile 347)
|
||||
- `TabA._on_vln_login` (Zeile 374)
|
||||
- `TabA._on_vln_logout` (Zeile 405)
|
||||
- `TabA._on_vln_verfahren_changed` (Zeile 416)
|
||||
- `TabA._on_p41_laden` (Zeile 424)
|
||||
- `TabA._on_upload_active` (Zeile 498)
|
||||
- `TabA._create_new_gpkg` (Zeile 595)
|
||||
- `TabA._update_group_color` (Zeile 608)
|
||||
- `TabA._on_load_fachdaten` (Zeile 618)
|
||||
- `TabA._build_ui` (Zeile 113) — ungeklärt
|
||||
- `TabA._restore_state` (Zeile 274) — ungeklärt
|
||||
- `TabA._restore_vln_state` (Zeile 296) — ungeklärt
|
||||
- `TabA._toggle_vln_group` (Zeile 307) — ungeklärt
|
||||
- `TabA._update_vln_ui_state` (Zeile 311) — ungeklärt
|
||||
- `TabA._populate_verfahren_combo` (Zeile 347) — ungeklärt
|
||||
- `TabA._on_vln_login` (Zeile 374) — ungeklärt
|
||||
- `TabA._on_vln_logout` (Zeile 405) — ungeklärt
|
||||
- `TabA._on_vln_verfahren_changed` (Zeile 416) — ungeklärt
|
||||
- `TabA._on_p41_laden` (Zeile 424) — ungeklärt
|
||||
- `TabA._on_upload_active` (Zeile 498) — ungeklärt
|
||||
- `TabA._create_new_gpkg` (Zeile 595) — ungeklärt
|
||||
- `TabA._update_group_color` (Zeile 608) — ungeklärt
|
||||
- `TabA._on_load_fachdaten` (Zeile 618) — ungeklärt
|
||||
|
||||
|
||||
Reference in New Issue
Block a user