1061 lines
68 KiB
Markdown
1061 lines
68 KiB
Markdown
# 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, 30 Testdateien, 332 Testfälle – 287 grün, 37 rot (Baseline), 8 übersprungen.
|
|||
|
|
Mit Beschreibung (Docstring): 100 von 332 (30 %).
|
|||
|
|
|
|||
|
|
## Zusammenfassung
|
|||
|
|
|
|||
|
|
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung |
|
|||
|
|
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
|
|||
|
|
| `sn_basis` | 13 | 87 | 87 | 0 | 0 | 0 von 87 (0 %) |
|
|||
|
|
| `sn_verfahrensgebiet` | 12 | 201 | 157 | 36 | 8 | 99 von 201 (49 %) |
|
|||
|
|
| `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) |
|
|||
|
|
| **Summe** | **30** | **332** | **287** | **37** | **8** | **100 von 332 (30 %)** |
|
|||
|
|
|
|||
|
|
### 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.json` vermerkt; er darf nicht ignoriert, aber auch nicht als neuer Fehler gewertet werden.
|
|||
|
|
- **ü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.
|
|||
|
|
|
|||
|
|
## Paket `sn_basis`
|
|||
|
|
|
|||
|
|
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 13 Testdateien mit 87 Testfällen (87 grün, 0 rot, 0 übersprungen).
|
|||
|
|
|
|||
|
|
### `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` (6 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestDataGrabber.test_analyze_source_type_detects_excel` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDataGrabber.test_analyze_source_type_returns_unknown_filetype` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDataGrabber.test_analyze_source_type_detects_service_when_file_check_fails` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDataGrabber.test_analyze_source_type_returns_unbekannte_quelle_on_full_failure` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDataGrabber.test_run_returns_success_summary_with_valid_rows` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDataGrabber.test_run_returns_failure_summary_without_rows` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Basis/tests/test_dateipruefer.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestDateipruefer` (6 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestDateipruefer.test_leereingabe_erlaubt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDateipruefer.test_leereingabe_nicht_erlaubt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDateipruefer.test_standarddatei_vorschlagen` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDateipruefer.test_temporaer_erlaubt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDateipruefer.test_datei_nicht_gefunden` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDateipruefer.test_datei_ok` | — (Docstring fehlt) | 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` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestGetLaenderkennung.test_praefix_gross_klein_unabhaengig` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestGetLaenderkennung.test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestGetLaenderkennung.test_mapping_enthaelt_sachsen` | — (Docstring fehlt) | 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` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_layer_unsichtbar` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_falscher_layertyp` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_falscher_geotyp` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_layer_leer` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_falsches_crs` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_felder_fehlen` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_datenquelle_unerwartet` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_layer_nicht_editierbar` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLayerpruefer.test_layer_ok` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Basis/tests/test_linkpruefer.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestLinkpruefer` (5 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestLinkpruefer.test_remote_link_ok` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLinkpruefer.test_remote_link_error` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLinkpruefer.test_remote_link_network_error` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLinkpruefer.test_local_link_not_found` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLinkpruefer.test_local_link_ok` | — (Docstring fehlt) | 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` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLayout.test_create_legend_item_does_not_copy_project_layers_into_legend_model` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLayout.test_configure_legend_size_uses_content_adaptive_size` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLayout.test_configure_hauptkarte_grids_uses_wrapper_constants` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLayout.test_create_single_page_layout_keeps_legend_linked_to_hauptkarte_and_theme` | — (Docstring fehlt) | 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` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_get_baufreigabe_page_dimensions_escalates_to_a3` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_get_baufreigabe_page_dimensions_respects_a4_as_maximum_with_fallback` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_get_baufreigabe_page_dimensions_falls_back_to_a3_for_oversize_extent` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_select_standard_page_layout_uses_a4_as_minimum_sheet` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_select_standard_page_layout_limits_hauptkarte_to_a3` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_select_standard_page_layout_returns_none_if_a3_is_too_small` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_get_standard_layout_dimensions_uses_a4_and_forces_fit_for_small_extent` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_get_standard_layout_dimensions_caps_endlosrolle_width_at_2000_mm` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_apply_standard_minimum_a4_fallback_for_small_page` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_apply_standard_minimum_a4_fallback_keeps_large_page` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_does_plot_fit_page_true_for_standard_a4` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_does_plot_fit_page_false_if_objects_exceed_page` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_set_druckbereich_accepts_wie_kartenfenster` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_get_canvas_extent_returns_valid_extent` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_resolve_extent_uses_canvas_extent_without_buffer` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPrintLogic.test_resolve_extent_uses_rectangle_extent_without_buffer` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Basis/tests/test_pruefmanager.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestPruefmanager` (14 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestPruefmanager.test_ok` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_leereingabe_erlaubt_ja` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_leereingabe_erlaubt_nein` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_standarddatei_vorschlagen_ja` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_standarddatei_vorschlagen_nein` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_temporaer_erlaubt_ja` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_temporaer_erlaubt_nein` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_layer_unsichtbar_ja` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_layer_unsichtbar_nein` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_unbekannte_aktion` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_datei_existiert_overwrite` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_datei_existiert_append` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_datei_existiert_cancel` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefmanager.test_datei_existiert_in_non_qgis_mode_returns_input` | — (Docstring fehlt) | 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` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestSettingsLogic.test_save` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestSettingsLogic.test_load_handles_partial_values_with_empty_fallback` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestSettingsLogic.test_save_empty_string_value_is_persisted` | — (Docstring fehlt) | 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` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestStilpruefer.test_datei_existiert_mit_qml` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestStilpruefer.test_datei_existiert_falsche_endung` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestStilpruefer.test_datei_existiert_nicht` | — (Docstring fehlt) | 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` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVariableWrapper.test_set_variable_project_changed_value_is_written` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVariableWrapper.test_set_variable_global_writes_prefixed_name` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVariableWrapper.test_get_variable_global_returns_empty_string_fallback` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVariableWrapper.test_get_variable_invalid_scope_raises` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVariableWrapper.test_set_variable_invalid_scope_raises` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Basis/tests/test_verfahrensgebiet_manager.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestVerfahrensgebietManager` (5 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_value` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_none_for_empty_value` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietManager.test_set_verfahrensgebiet_layer_id_writes_project_variable` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietManager.test_update_without_layer_does_not_write_when_already_empty` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietManager.test_update_with_layer_writes_variable` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
## Paket `sn_verfahrensgebiet`
|
|||
|
|
|
|||
|
|
Fachplugin, Ordner `Plugin_SN_Verfahrensgebiet` – 12 Testdateien mit 201 Testfällen (157 grün, 36 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/try3
|
|||
|
|
- `TestLadeBeteiligungCsv` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullen` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichen` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichen` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_ungueltiges_format_gibt_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_leerer_wert_gibt_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_a` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_b` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_z` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuellt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_liste` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahl` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layer` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestHoleVerfahrensgebietLayer.test_kein_layer_gibt_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichen` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummer` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_an` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_an` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_an` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehler` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLadeBeteiligungCsv.test_leere_datei_wirft_fehler` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestLadeBeteiligungCsv.test_erfolgsfall_gibt_zeilen_und_spalten_zurueck` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_dockwidget.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestDockWidget` (2 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestDockWidget.test_init_tabs_with_services_injects_available_services` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestDockWidget.test_init_tabs_with_services_reports_errors` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_flurstueck_alkis.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: Unit-Tests für das flurstueck_alkis-Modul.
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestFlurstueckAlkis` (11 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestFlurstueckAlkis.test_user_cancel_returns_none` | ask_text → ok=False, text="" → (None, NONE). | grün |
|
|||
|
|
| `TestFlurstueckAlkis.test_empty_text_after_confirmation_returns_none` | ask_text → ok=True, aber Text leer → (None, NONE). | grün |
|
|||
|
|
| `TestFlurstueckAlkis.test_invalid_wfs_layer_returns_none` | WFS-Layer nicht valide → (None, NONE). | grün |
|
|||
|
|
| `TestFlurstueckAlkis.test_success_returns_layer_and_first_status` | Kein bestehender Layer, WFS valide → (layer, FIRST). | rot (Baseline) |
|
|||
|
|
| `TestFlurstueckAlkis.test_sql_filter_contains_all_schluessel` | Der WFS-URI enthält alle eingegebenen Gemarkungsschlüssel. | rot (Baseline) |
|
|||
|
|
| `TestFlurstueckAlkis.test_existing_layer_reload_yes` | Bestehender Layer + Nutzer: 'Ja, neu laden' → LoadStatus.RELOAD. | rot (Baseline) |
|
|||
|
|
| `TestFlurstueckAlkis.test_existing_layer_keep_no` | Bestehender Layer + Nutzer: 'Nein, behalten' → LoadStatus.KEEP. | rot (Baseline) |
|
|||
|
|
| `TestFlurstueckAlkis.test_vorgabe_schluessel_prefills_default_text` | vorgabe_schluessel=['1234','5678'] → ask_text erhält '1234, 5678' als default_text. | rot (Baseline) |
|
|||
|
|
| `TestFlurstueckAlkis.test_vorgabe_namen_appears_in_label` | vorgabe_namen=['Musterstadt'] → ask_text-label enthält den Namen. | rot (Baseline) |
|
|||
|
|
| `TestFlurstueckAlkis.test_bbox_embedded_in_wfs_uri` | bbox-Parameter → WFS-URI enthält 'bbox=' Substring. | rot (Baseline) |
|
|||
|
|
| `TestFlurstueckAlkis.test_backwards_compatible_no_new_params` | flurstueck_alkis(tab) ohne neue Parameter → kein Fehler. | rot (Baseline) |
|
|||
|
|
|
|||
|
|
### `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)
|
|||
|
|
|
|||
|
|
| 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) |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: Unit-Tests für `sn_verfahrensgebiet.functions.knickpunkt_pruefung`.
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestExtrahiereKnickpunkte` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestKnickpunktPruefungInputvalidierung` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestKnickpunktPruefungKlassifizierung` (2 Testfälle): Testet die Grün/Rot/Orange-Klassifizierung mit gesteuertem QGIS-Mock.
|
|||
|
|
- `TestFehlendKnickpunkteViaVerbindungslinien` (4 Testfälle): Direkte Tests für `_fehlende_knickpunkte_via_verbindungslinien`.
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_liste` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_liste` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_liste` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestExtrahiereKnickpunkte.test_qgis_nicht_verfuegbar_gibt_leere_liste` | Wenn qgis.core kein QgsPointXY hat (ImportError in Funktion), leere Liste. | grün |
|
|||
|
|
| `TestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueck` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueck` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestKnickpunktPruefungInputvalidierung.test_abbruch_via_progress_gibt_none_zurueck` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestKnickpunktPruefungKlassifizierung.test_identischer_punkt_wird_gruen_gezaehlt` | PunktortTA exakt am Knickpunkt → identisch_count == 1. | grün |
|
|||
|
|
| `TestKnickpunktPruefungKlassifizierung.test_kein_pta_an_knickpunkt_wird_rot_gezaehlt` | Kein PunktortTA am Knickpunkt → kein_pta_count == 1. | grün |
|
|||
|
|
| `TestFehlendKnickpunkteViaVerbindungslinien.test_leere_union_gibt_null_zurueck` | bror_union.isEmpty() == True → (0, []). | grün |
|
|||
|
|
| `TestFehlendKnickpunkteViaVerbindungslinien.test_weniger_als_zwei_pta_auf_ring_kein_orange` | Nur 1 gematchter PunktortTA auf Ring → keine fehlenden Knickpunkte. | grün |
|
|||
|
|
| `TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_im_puffer_wird_orange` | Nicht-gematchter PunktortTA innerhalb 3-cm-Puffer → orange gezählt. | grün |
|
|||
|
|
| `TestFehlendKnickpunkteViaVerbindungslinien.test_ungematchter_pta_ausserhalb_puffer_kein_orange` | Nicht-gematchter PunktortTA außerhalb Puffer → nicht orange gezählt. | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_main.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestPluginMain` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestPluginMain.test_init_sets_services_and_names` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPluginMain.test_initGui_registers_action_when_basis_ui_exists` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPluginMain.test_run_creates_dock_and_marks_toolbar_active` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPluginMain.test_unload_removes_dock_and_action` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestVerfahrensgebietAlkis` (8 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_check_existing_layer_first_load` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_check_existing_layer_keep_existing` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_success_single_kombination` | Einzelne (adv_name, bezeichnung)-Kombination → kein Dialog, Memory-Layer zurück. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_auswahl` | Zwei verschiedene Kombinationen → Dialog wird gezeigt, gewählte Features genutzt. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_dialog_abbruch` | Zwei verschiedene Kombinationen → Nutzer bricht Dialog ab → NONE. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl` | Zwei verschiedene Kombinationen → beide ausgewählt → beide Feature-Gruppen genutzt. | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis_komplett.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: Unit-Tests für `sn_verfahrensgebiet.functions.verfahrensgebiet_alkis_komplett`.
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestSelectByLocation` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestFuegeVkzFeldHinzu` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestFlaechenvergleich` (8 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVerfahrensgebietAlkisKomplett` (16 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestSelectByLocation.test_processing_not_available_returns_zero` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestSelectByLocation.test_processing_success_returns_count` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestSelectByLocation.test_processing_exception_returns_zero` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFuegeVkzFeldHinzu.test_empty_vkz_does_nothing` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFuegeVkzFeldHinzu.test_none_vkz_does_nothing` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFuegeVkzFeldHinzu.test_vkz_field_added` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_gleiche_flaeche_stimmt_ueberein` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_ueberein` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_differenz_innerhalb_toleranz` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_differenz_ausserhalb_toleranz` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_flaechen_werte_korrekt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_lese_toleranz_default_ist_null` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_lese_toleranz_parst_string` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_null` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_aborts` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_flst_none_aborts` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enriched` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_progress_cancel_after_step1_returns_none` | Abbruch nach Schritt 1 → sofortiger sauberer Rückgabestatus. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_success_flaechen_match_zeigt_info` | Flächenübereinstimmung → show_info_dialog mit erwartetem Text. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_abbrechen_kein_detailcheck` | Abweichung + Abbrechen → knickpunkt_pruefung wird NICHT aufgerufen. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_als_vg_laden` | Abweichung + Als VG laden → BROR-Layer wird umbenannt und als | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_flaechen_abweichung_detailpruefung_startet_knickpruefung` | Abweichung + Detailprüfung → lade_punktort_ta + knickpunkt_pruefung | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_bror_layer_bleibt_bei_erfolg_im_projekt` | Bei Erfolg darf der BROR-Layer NICHT entfernt werden. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_bror_layer_wird_bei_fehler_entfernt` | Bei Fehler (flst_alkis NONE) wird der BROR-Layer aus dem Projekt entfernt. | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_abgebrochen` | Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer bricht den | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_kein_vkz_kein_landkreis_dialog_liefert_landkreis` | Weder Verfahrensnummer noch Landkreis gesetzt, Nutzer wählt einen | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_wird_bei_fehlender_vkz_verwendet` | Keine Verfahrensnummer, aber Landkreis gesetzt → Landkreis-Suchpfad | grün |
|
|||
|
|
| `TestVerfahrensgebietAlkisKomplett.test_landkreis_modus_nur_laden_ueberspringt_dialog2` | nur_laden=True → Funktion kehrt sofort zurück, Dialog 2 (Gemarkung | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: Unit-Tests für das Verfahrensgebiet-Edit-Service-Modul.
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestPruefeFlurstueckLayer` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestPruefeAuswahl` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestGetKennzeichenMenge` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestErstelle` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestErgaenzeVerfahrensgebiet` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestEntferneAusVerfahrensgebiet` (5 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestErsetze` (1 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestPruefeFlurstueckLayer.test_layer_ok_passes` | Gültiger Polygon-Vektor-Layer mit Pflichtfeldern → ok=True. | grün |
|
|||
|
|
| `TestPruefeFlurstueckLayer.test_layer_missing_field_fails` | Layer ohne Pflichtfelder → ok=False, aktion=felder_fehlen. | grün |
|
|||
|
|
| `TestPruefeFlurstueckLayer.test_layer_wrong_geometry_fails` | Layer mit falschem Geometrietyp → ok=False, aktion=falscher_geotyp. | grün |
|
|||
|
|
| `TestPruefeAuswahl.test_no_selection_fails` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefeAuswahl.test_with_selection_passes` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zero` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestGetKennzeichenMenge.test_returns_set_of_ids` | Kommagetrennte Kennzeichen im Single-Feature werden korrekt geparst. | grün |
|
|||
|
|
| `TestGetKennzeichenMenge.test_empty_layer_returns_empty_set` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestGetKennzeichenMenge.test_single_kennzeichen_without_comma` | Einzelnes Kennzeichen ohne Komma wird korrekt erkannt. | grün |
|
|||
|
|
| `TestErstelle.test_success_counts` | 3 gültige Features → erfolgreich=3, fehlgeschlagen=0, 1 Union-Feature im Layer. | grün |
|
|||
|
|
| `TestErstelle.test_partial_failure_on_empty_geometry` | 2 ok + 1 leere Geometrie → erfolgreich=2, fehlgeschlagen=1. | grün |
|
|||
|
|
| `TestErstelle.test_all_fail_on_empty_geometries` | Alle Features haben leere Geometrie → erfolgreich=0, kein Feature im Layer. | grün |
|
|||
|
|
| `TestErgaenzeVerfahrensgebiet.test_adds_only_new_ids` | Auswahl enthält 1 neue + 1 bereits vorhandene ID → hinzugefügt=1. | grün |
|
|||
|
|
| `TestErgaenzeVerfahrensgebiet.test_skip_empty_geometry_counts_as_failed` | Neue ID mit leerer Geometrie → fehlgeschlagen=1, hinzugefügt=0. | grün |
|
|||
|
|
| `TestErgaenzeVerfahrensgebiet.test_all_already_present` | Alle ausgewählten IDs bereits vorhanden → bereits_vorhanden=n, hinzugefügt=0. | grün |
|
|||
|
|
| `TestEntferneAusVerfahrensgebiet.test_removes_present_ids` | Auswahl enthält 1 vorhandene ID → entfernt=1, nicht_enthalten=0. | grün |
|
|||
|
|
| `TestEntferneAusVerfahrensgebiet.test_counts_ids_not_in_layer` | Auswahl enthält ID, die nicht im Verfahrensgebiet ist → nicht_enthalten=1. | grün |
|
|||
|
|
| `TestEntferneAusVerfahrensgebiet.test_none_present_in_layer` | Auswahl hat IDs, die alle nicht im Layer sind → entfernt=0, nicht_enthalten=n. | grün |
|
|||
|
|
| `TestEntferneAusVerfahrensgebiet.test_empty_selection_removes_nothing` | Leere Auswahl → nichts entfernt, nichts nicht_enthalten. | grün |
|
|||
|
|
| `TestEntferneAusVerfahrensgebiet.test_removes_last_id_deletes_feature` | Wird das letzte Kennzeichen entfernt, wird das Feature gelöscht. | grün |
|
|||
|
|
| `TestErsetze.test_ersetze_delegates_to_erstelle` | ersetze_verfahrensgebiet gibt dasselbe Ergebnis wie erstelle zurück. | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: Unit-Tests für `sn_verfahrensgebiet.functions.verfahrensgebiet_shape_komplett`.
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestFindShp` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestErstelleMemoryLayerAusShp` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestLadeVgAusZip` (6 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett` (18 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestFindShp.test_findet_shp_in_root` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFindShp.test_findet_shp_in_unterordner` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFindShp.test_kein_shp_gibt_none_zurueck` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestFindShp.test_case_insensitive_erkennung` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestErstelleMemoryLayerAusShp.test_keine_features_gibt_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestErstelleMemoryLayerAusShp.test_attribute_von_erstem_feature_werden_gesetzt` | Attributwerte des ersten Features werden auf das Union-Feature übertragen. | grün |
|
|||
|
|
| `TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_lade_zip_none_aborts` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_shape_vg_sofort_ins_projekt_nach_laden` | Shape-VG wird unmittelbar nach dem Laden ins Projekt eingefügt. | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt` | Shape-VG wird bei Fehler/Abbruch aus dem Projekt entfernt. | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_shape_vg_bleibt_im_projekt_bei_erfolg` | Bei erfolgreichem Abschluss wird shape_vg NICHT aus dem Projekt entfernt. | grün |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_flst_none_aborts` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warning` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_bror_layer_ist_stets_none` | Dritter Rückgabewert ist im Shape-Workflow immer None (kein BROR). | grün |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt` | VKZ gesetzt → verfahrensgebiet_alkis aufgerufen, bror_layer zurückgegeben. | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_bror_wird_vor_shape_vg_ins_projekt_eingefuegt` | BROR wird VOR shape_vg ins Projekt eingefügt (kein Namenskonflikt). | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_bror_wird_bei_abbruch_aus_projekt_entfernt` | BROR und shape_vg werden bei Fehler aus dem Projekt entfernt. | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_verfahrensgebiet_alkis_nicht_aufgerufen_wenn_vkz_leer` | Leere VKZ → verfahrensgebiet_alkis wird NICHT aufgerufen. | grün |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_bror_als_erstes_argument_beim_flaechenvergleich` | Mit BROR: _vergleiche_flaechen wird (bror, shape_vg, ...) aufgerufen. | rot (Baseline) |
|
|||
|
|
| `TestVerfahrensgebietShapeKomplett.test_fallback_auf_temp_enriched_wenn_bror_ladeversagen` | BROR-Ladeversagen → Fallback: _vergleiche_flaechen mit shape_vg vs temp_enriched. | rot (Baseline) |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestWorkingTab` (21 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestHandleVerfShape` (9 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestWorkingTab.test_set_busy_updates_button_state` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestWorkingTab.test_on_verf_layer_changed_valid_sets_variable` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestWorkingTab.test_on_verf_layer_changed_none_clears_variable` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verf_alkis_success_path` | verfahrensgebiet_alkis_komplett → 4-Tupel (enriched, flst, bror, FIRST). | rot (Baseline) |
|
|||
|
|
| `TestWorkingTab.test_handle_verf_alkis_failure_clears_layer_var` | Status NONE → Layer-Variable wird auf '' gesetzt. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_grenz_alkis_success_sets_haken` | Grenzpunkte erfolgreich geladen → haken_grenz wird gesetzt. | rot (Baseline) |
|
|||
|
|
| `TestWorkingTab.test_handle_grenz_alkis_none_result_sets_no_haken` | grenzpunkt_alkis liefert (None, None) → kein Haken. | rot (Baseline) |
|
|||
|
|
| `TestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_style` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_path` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_flurst_alkis_invalid_input_returns_early` | Status NONE (z. B. Nutzerabbruch) → kein Layer, kein Haken. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_active_layer` | Kein aktiver Layer → warning, kein Layer wird erstellt. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_required_fields` | Layer ohne Pflichtfelder → warning, kein Layer wird erstellt. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verfahrensgebiet_from_selection_requires_selection` | Keine Flurstück-Auswahl → warning, kein Layer erstellt. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verfahrensgebiet_from_selection_new_layer_success` | Erstlauf ohne bestehenden Layer → Layer wird erstellt und hinzugefügt. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ergaenzen_dispatch` | Entscheidung 'ergaenzen' → ergaenze_verfahrensgebiet wird aufgerufen. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_entfernen_dispatch` | Entscheidung 'entfernen' → entferne_aus_verfahrensgebiet wird aufgerufen. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_verfahrensgebiet_from_selection_existing_layer_ersetzen_dispatch` | Entscheidung 'ersetzen' → alter Layer entfernt, neuer hinzugefügt. | grün |
|
|||
|
|
| `TestWorkingTab.test_aus_liste_button_shows_not_implemented_hint` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_gem_alkis_service_reachable_adds_layer` | Dienst erreichbar → Layer ins Projekt, Stil angewendet, Haken gesetzt. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_gem_alkis_service_unreachable_shows_warning` | Dienst nicht erreichbar (None) → warning, kein addMapLayer. | grün |
|
|||
|
|
| `TestWorkingTab.test_handle_gem_alkis_layer_already_exists_shows_info` | Layer 'Gemarkungen' bereits vorhanden → info, kein erneutes Laden. | grün |
|
|||
|
|
| `TestHandleVerfShape.test_status_none_clears_layer_variable` | Status NONE → Layer-Variable wird auf '' gesetzt. | grün |
|
|||
|
|
| `TestHandleVerfShape.test_button_always_re_enabled_on_failure` | Button muss nach Status NONE wieder freigegeben sein (finally). | grün |
|
|||
|
|
| `TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_nein_bricht_ab` | Verfahrensnummer leer + Nutzer wählt 'Nein' → Vorgang abgebrochen. | rot (Baseline) |
|
|||
|
|
| `TestHandleVerfShape.test_verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort` | Verfahrensnummer leer + Nutzer wählt 'Ja' → Pipeline wird aufgerufen. | rot (Baseline) |
|
|||
|
|
| `TestHandleVerfShape.test_verfahrensnummer_gesetzt_kein_rueckfrage_dialog` | Verfahrensnummer gesetzt → kein ask_yes_no-Dialog. | grün |
|
|||
|
|
| `TestHandleVerfShape.test_success_path_applies_style_and_sets_haken` | Erfolg → verfahrensgebiet.qml angewendet, haken_verf gesetzt, success aufgerufen. | grün |
|
|||
|
|
| `TestHandleVerfShape.test_bror_layer_erhaelt_qml_stil` | Wenn bror_layer zurückgegeben → BauRaumOderBodenordnungsrecht.qml angewendet. | grün |
|
|||
|
|
| `TestHandleVerfShape.test_enriched_layer_already_in_project_not_added_again` | Layer bereits im Projekt → kein erneutes addMapLayer für VG-Layer. | grün |
|
|||
|
|
| `TestHandleVerfShape.test_busy_state_set_during_execution` | Button wird während der Ausführung auf busy gesetzt. | grün |
|
|||
|
|
|
|||
|
|
## Paket `sn_plan41`
|
|||
|
|
|
|||
|
|
Fachplugin, Ordner `Plugin_SN_Plan41` – 5 Testdateien mit 44 Testfällen (43 grün, 1 rot, 0 übersprungen).
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Plan41/tests/test_listenauswerter.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestListenauswerter` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestListenauswerter.test_validate_rows_accepts_valid_row_and_normalizes_provider` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestListenauswerter.test_validate_rows_rejects_missing_required_fields` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failure` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestListenauswerter.test_validate_rows_handles_non_mapping_rows_edge_case` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Plan41/tests/test_tab_a_logic.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestTabALogic` (9 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestTabALogic.test_verfahrens_db_set_and_load_roundtrip` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_verfahrens_db_clear` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_linkliste_set_and_load_existing_path` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_linkliste_load_returns_none_when_file_missing` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persists` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejects` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_resolve_raumfilter_without_filter_returns_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabALogic.test_extract_datenabruf_error_maps_merges_reason_maps` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Plan41/tests/test_tab_a_preconditions.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestTabAPreconditions` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missing` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabAPreconditions.test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Plan41/tests/test_tab_a_ui.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestTabAUI` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestTabAUI.test_tab_a_callbacks_can_be_called_without_crash` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabAUI.test_tab_a_raumfilter_callback_persists_value` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestTabAUI.test_set_services_initializes_logic_and_injects_data_grabber` | — (Docstring fehlt) | rot (Baseline) |
|
|||
|
|
|
|||
|
|
### `Plugin_SN_Plan41/tests/test_vln_api_logic.py`
|
|||
|
|
|
|||
|
|
Worum es in der Datei geht: Tests für sn_plan41/modules/vln_api_logic.py
|
|||
|
|
|
|||
|
|
Testgruppen:
|
|||
|
|
|
|||
|
|
- `TestVlnApiLogicAvailability` (2 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVlnApiLogicCredentials` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVlnApiLogicLogin` (6 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVlnApiLogicVerfahren` (2 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVlnApiLogicVkz` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVlnApiLogicLoadP41` (3 Testfälle): — (Docstring fehlt)
|
|||
|
|
- `TestVlnApiLogicUpload` (4 Testfälle): — (Docstring fehlt)
|
|||
|
|
|
|||
|
|
| Testfall | prüft | Status |
|
|||
|
|
| --- | --- | --- |
|
|||
|
|
| `TestVlnApiLogicAvailability.test_is_available_reflects_import_state` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicAvailability.test_is_available_false_when_vln_karten_missing` | Wenn VLN_KARTEN_AVAILABLE=False, liefert is_available() False. | grün |
|
|||
|
|
| `TestVlnApiLogicCredentials.test_save_api_key_calls_qsettings` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicCredentials.test_clear_api_key_calls_remove` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mail` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_empty` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLogin.test_login_sets_client_and_saves_key` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modules` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLogin.test_login_propagates_api_error` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLogin.test_logout_clears_client` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLogin.test_is_authenticated_false_after_logout` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_client` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticated` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_client` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicVkz.test_load_stored_vkz_reads_from_project` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_empty` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicVkz.test_save_vkz_writes_to_project` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicVkz.test_save_vkz_does_nothing_for_none` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_karten` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layers` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layer` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_path` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicUpload.test_upload_returns_error_for_none_layer` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modules` | — (Docstring fehlt) | grün |
|
|||
|
|
| `TestVlnApiLogicUpload.test_upload_calls_save_feature_collection` | — (Docstring fehlt) | grün |
|
|||
|
|
|
|||
|
|
## Lücken
|
|||
|
|
|
|||
|
|
Arbeitsliste: Diese Testfälle haben keinen Docstring; was sie fachlich prüfen, lässt sich nur
|
|||
|
|
aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall,
|
|||
|
|
dann verschwindet er hier von selbst.
|
|||
|
|
|
|||
|
|
### `sn_basis` – 87 von 87 Testfällen ohne Beschreibung
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_datagrabber.py` (6 von 6) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestDataGrabber.test_analyze_source_type_detects_excel`
|
|||
|
|
- `TestDataGrabber.test_analyze_source_type_returns_unknown_filetype`
|
|||
|
|
- `TestDataGrabber.test_analyze_source_type_detects_service_when_file_check_fails`
|
|||
|
|
- `TestDataGrabber.test_analyze_source_type_returns_unbekannte_quelle_on_full_failure`
|
|||
|
|
- `TestDataGrabber.test_run_returns_success_summary_with_valid_rows`
|
|||
|
|
- `TestDataGrabber.test_run_returns_failure_summary_without_rows`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_dateipruefer.py` (6 von 6) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestDateipruefer.test_leereingabe_erlaubt`
|
|||
|
|
- `TestDateipruefer.test_leereingabe_nicht_erlaubt`
|
|||
|
|
- `TestDateipruefer.test_standarddatei_vorschlagen`
|
|||
|
|
- `TestDateipruefer.test_temporaer_erlaubt`
|
|||
|
|
- `TestDateipruefer.test_datei_nicht_gefunden`
|
|||
|
|
- `TestDateipruefer.test_datei_ok`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_laenderkennung.py` (5 von 5)
|
|||
|
|
|
|||
|
|
- `TestGetLaenderkennung.test_bekannter_praefix_gibt_kennung_zurueck`
|
|||
|
|
- `TestGetLaenderkennung.test_praefix_gross_klein_unabhaengig`
|
|||
|
|
- `TestGetLaenderkennung.test_unbekannter_praefix_wirft_keyerror`
|
|||
|
|
- `TestGetLaenderkennung.test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet`
|
|||
|
|
- `TestGetLaenderkennung.test_mapping_enthaelt_sachsen`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_layerpruefer.py` (10 von 10) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestLayerpruefer.test_layer_exists`
|
|||
|
|
- `TestLayerpruefer.test_layer_unsichtbar`
|
|||
|
|
- `TestLayerpruefer.test_falscher_layertyp`
|
|||
|
|
- `TestLayerpruefer.test_falscher_geotyp`
|
|||
|
|
- `TestLayerpruefer.test_layer_leer`
|
|||
|
|
- `TestLayerpruefer.test_falsches_crs`
|
|||
|
|
- `TestLayerpruefer.test_felder_fehlen`
|
|||
|
|
- `TestLayerpruefer.test_datenquelle_unerwartet`
|
|||
|
|
- `TestLayerpruefer.test_layer_nicht_editierbar`
|
|||
|
|
- `TestLayerpruefer.test_layer_ok`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_linkpruefer.py` (5 von 5) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestLinkpruefer.test_remote_link_ok`
|
|||
|
|
- `TestLinkpruefer.test_remote_link_error`
|
|||
|
|
- `TestLinkpruefer.test_remote_link_network_error`
|
|||
|
|
- `TestLinkpruefer.test_local_link_not_found`
|
|||
|
|
- `TestLinkpruefer.test_local_link_ok`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_print_layout.py` (5 von 5) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestPrintLayout.test_create_legend_item_links_map_and_enables_map_filtering`
|
|||
|
|
- `TestPrintLayout.test_create_legend_item_does_not_copy_project_layers_into_legend_model`
|
|||
|
|
- `TestPrintLayout.test_configure_legend_size_uses_content_adaptive_size`
|
|||
|
|
- `TestPrintLayout.test_configure_hauptkarte_grids_uses_wrapper_constants`
|
|||
|
|
- `TestPrintLayout.test_create_single_page_layout_keeps_legend_linked_to_hauptkarte_and_theme`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_print_logic.py` (17 von 17) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestPrintLogic.test_get_baufreigabe_page_dimensions_prefers_a4_for_small_extent`
|
|||
|
|
- `TestPrintLogic.test_get_baufreigabe_page_dimensions_escalates_to_a3`
|
|||
|
|
- `TestPrintLogic.test_get_baufreigabe_page_dimensions_respects_a4_as_maximum_with_fallback`
|
|||
|
|
- `TestPrintLogic.test_get_baufreigabe_page_dimensions_falls_back_to_a3_for_oversize_extent`
|
|||
|
|
- `TestPrintLogic.test_select_standard_page_layout_uses_a4_as_minimum_sheet`
|
|||
|
|
- `TestPrintLogic.test_select_standard_page_layout_limits_hauptkarte_to_a3`
|
|||
|
|
- `TestPrintLogic.test_select_standard_page_layout_returns_none_if_a3_is_too_small`
|
|||
|
|
- `TestPrintLogic.test_get_standard_layout_dimensions_uses_a4_and_forces_fit_for_small_extent`
|
|||
|
|
- `TestPrintLogic.test_get_standard_layout_dimensions_caps_endlosrolle_width_at_2000_mm`
|
|||
|
|
- `TestPrintLogic.test_apply_standard_minimum_a4_fallback_for_small_page`
|
|||
|
|
- `TestPrintLogic.test_apply_standard_minimum_a4_fallback_keeps_large_page`
|
|||
|
|
- `TestPrintLogic.test_does_plot_fit_page_true_for_standard_a4`
|
|||
|
|
- `TestPrintLogic.test_does_plot_fit_page_false_if_objects_exceed_page`
|
|||
|
|
- `TestPrintLogic.test_set_druckbereich_accepts_wie_kartenfenster`
|
|||
|
|
- `TestPrintLogic.test_get_canvas_extent_returns_valid_extent`
|
|||
|
|
- `TestPrintLogic.test_resolve_extent_uses_canvas_extent_without_buffer`
|
|||
|
|
- `TestPrintLogic.test_resolve_extent_uses_rectangle_extent_without_buffer`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_pruefmanager.py` (14 von 14) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestPruefmanager.test_ok`
|
|||
|
|
- `TestPruefmanager.test_leereingabe_erlaubt_ja`
|
|||
|
|
- `TestPruefmanager.test_leereingabe_erlaubt_nein`
|
|||
|
|
- `TestPruefmanager.test_standarddatei_vorschlagen_ja`
|
|||
|
|
- `TestPruefmanager.test_standarddatei_vorschlagen_nein`
|
|||
|
|
- `TestPruefmanager.test_temporaer_erlaubt_ja`
|
|||
|
|
- `TestPruefmanager.test_temporaer_erlaubt_nein`
|
|||
|
|
- `TestPruefmanager.test_layer_unsichtbar_ja`
|
|||
|
|
- `TestPruefmanager.test_layer_unsichtbar_nein`
|
|||
|
|
- `TestPruefmanager.test_unbekannte_aktion`
|
|||
|
|
- `TestPruefmanager.test_datei_existiert_overwrite`
|
|||
|
|
- `TestPruefmanager.test_datei_existiert_append`
|
|||
|
|
- `TestPruefmanager.test_datei_existiert_cancel`
|
|||
|
|
- `TestPruefmanager.test_datei_existiert_in_non_qgis_mode_returns_input`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_settings_logic.py` (4 von 4) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestSettingsLogic.test_load`
|
|||
|
|
- `TestSettingsLogic.test_save`
|
|||
|
|
- `TestSettingsLogic.test_load_handles_partial_values_with_empty_fallback`
|
|||
|
|
- `TestSettingsLogic.test_save_empty_string_value_is_persisted`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_stilpruefer.py` (4 von 4) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestStilpruefer.test_keine_datei_angegeben`
|
|||
|
|
- `TestStilpruefer.test_datei_existiert_mit_qml`
|
|||
|
|
- `TestStilpruefer.test_datei_existiert_falsche_endung`
|
|||
|
|
- `TestStilpruefer.test_datei_existiert_nicht`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_variable_wrapper.py` (6 von 6) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestVariableWrapper.test_set_variable_project_noop_write_is_skipped`
|
|||
|
|
- `TestVariableWrapper.test_set_variable_project_changed_value_is_written`
|
|||
|
|
- `TestVariableWrapper.test_set_variable_global_writes_prefixed_name`
|
|||
|
|
- `TestVariableWrapper.test_get_variable_global_returns_empty_string_fallback`
|
|||
|
|
- `TestVariableWrapper.test_get_variable_invalid_scope_raises`
|
|||
|
|
- `TestVariableWrapper.test_set_variable_invalid_scope_raises`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Basis/tests/test_verfahrensgebiet_manager.py` (5 von 5) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_value`
|
|||
|
|
- `TestVerfahrensgebietManager.test_get_verfahrensgebiet_layer_id_returns_none_for_empty_value`
|
|||
|
|
- `TestVerfahrensgebietManager.test_set_verfahrensgebiet_layer_id_writes_project_variable`
|
|||
|
|
- `TestVerfahrensgebietManager.test_update_without_layer_does_not_write_when_already_empty`
|
|||
|
|
- `TestVerfahrensgebietManager.test_update_with_layer_writes_variable`
|
|||
|
|
|
|||
|
|
### `sn_verfahrensgebiet` – 102 von 201 Testfällen ohne Beschreibung
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py` (25 von 25)
|
|||
|
|
|
|||
|
|
- `TestBaueFlurstueckCsv.test_normalfall_mit_fuehrenden_nullen`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_nenner_null_wird_zu_unterstrichen`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_nenner_leer_wird_zu_unterstrichen`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_ungueltiges_format_gibt_none`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_leerer_wert_gibt_none`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_nenner_9001_wird_zu_buchstabe_a`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_nenner_9002_wird_zu_buchstabe_b`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_nenner_9026_wird_zu_buchstabe_z`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt`
|
|||
|
|
- `TestBaueFlurstueckCsv.test_einstellige_folge_wird_auf_2_stellen_aufgefuellt`
|
|||
|
|
- `TestBaueFlurstueckCsvListe.test_nur_gueltige_zeilen_in_liste`
|
|||
|
|
- `TestHoleVerfahrensgebietLayer.test_layer_per_name_hat_vorrang_vor_combo_auswahl`
|
|||
|
|
- `TestHoleVerfahrensgebietLayer.test_combo_auswahl_als_fallback_ohne_namens_layer`
|
|||
|
|
- `TestHoleVerfahrensgebietLayer.test_kein_layer_gibt_none`
|
|||
|
|
- `TestFordereManuellesLadenAn.test_ohne_vef_vkzf_nennt_fehlende_kennzeichen`
|
|||
|
|
- `TestFordereManuellesLadenAn.test_mit_vef_vkzf_nennt_verfahrensnummer`
|
|||
|
|
- `TestTry3Bootstrap.test_setzt_verfahrensnummer_und_fordert_manuelles_laden_an`
|
|||
|
|
- `TestBeteiligungPruefenDispatch.test_layer_ohne_kennzeichen_fordert_manuelles_laden_an`
|
|||
|
|
- `TestBeteiligungPruefenDispatch.test_kein_layer_setzt_verfahrensnummer_und_fordert_laden_an`
|
|||
|
|
- `TestLadeBeteiligungCsv.test_dialog_abgebrochen_gibt_none`
|
|||
|
|
- `TestLadeBeteiligungCsv.test_fehlende_flurstueck_spalte_wirft_fehler`
|
|||
|
|
- `TestLadeBeteiligungCsv.test_leere_datei_wirft_fehler`
|
|||
|
|
- `TestLadeBeteiligungCsv.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_services`
|
|||
|
|
- `TestDockWidget.test_init_tabs_with_services_reports_errors`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Verfahrensgebiet/tests/test_gemarkung_alkis.py` (6 von 14)
|
|||
|
|
|
|||
|
|
- `TestExtractSchluesselUndName.test_standard_attribute`
|
|||
|
|
- `TestExtractSchluesselUndName.test_fallback_attribute`
|
|||
|
|
- `TestExtractSchluesselUndName.test_missing_attribute_returns_empty`
|
|||
|
|
- `TestExtractSchluesselUndName.test_none_value_returns_empty`
|
|||
|
|
- `TestGemarkungSchluesselnurNummern.test_returns_only_nummern`
|
|||
|
|
- `TestGemarkungSchluesselnurNummern.test_empty_input_returns_empty`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Verfahrensgebiet/tests/test_grenzpunkt_alkis.py` (6 von 12)
|
|||
|
|
|
|||
|
|
- `TestGrenzpunktAlkis.test_no_vg_layer_returns_none`
|
|||
|
|
- `TestGrenzpunktAlkis.test_invalid_punktort_layer`
|
|||
|
|
- `TestGrenzpunktAlkis.test_empty_punktort_layer`
|
|||
|
|
- `TestGrenzpunktAlkis.test_no_gml_ids_returns_pta_only`
|
|||
|
|
- `TestGrenzpunktAlkis.test_grenzpunkt_batch_empty`
|
|||
|
|
- `TestGrenzpunktAlkis.test_success_returns_both_layers`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Verfahrensgebiet/tests/test_knickpunkt_pruefung.py` (6 von 13)
|
|||
|
|
|
|||
|
|
- `TestExtrahiereKnickpunkte.test_leerer_layer_gibt_leere_liste`
|
|||
|
|
- `TestExtrahiereKnickpunkte.test_keine_gueltige_geometrie_gibt_leere_liste`
|
|||
|
|
- `TestExtrahiereKnickpunkte.test_feature_mit_leerer_geometrie_gibt_leere_liste`
|
|||
|
|
- `TestKnickpunktPruefungInputvalidierung.test_keine_knickpunkte_gibt_none_zurueck`
|
|||
|
|
- `TestKnickpunktPruefungInputvalidierung.test_kein_punktort_layer_gibt_none_zurueck`
|
|||
|
|
- `TestKnickpunktPruefungInputvalidierung.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_names`
|
|||
|
|
- `TestPluginMain.test_initGui_registers_action_when_basis_ui_exists`
|
|||
|
|
- `TestPluginMain.test_run_creates_dock_and_marks_toolbar_active`
|
|||
|
|
- `TestPluginMain.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_load`
|
|||
|
|
- `TestVerfahrensgebietAlkis.test_check_existing_layer_keep_existing`
|
|||
|
|
- `TestVerfahrensgebietAlkis.test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing`
|
|||
|
|
- `TestVerfahrensgebietAlkis.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_zero`
|
|||
|
|
- `TestSelectByLocation.test_processing_success_returns_count`
|
|||
|
|
- `TestSelectByLocation.test_processing_exception_returns_zero`
|
|||
|
|
- `TestFuegeVkzFeldHinzu.test_empty_vkz_does_nothing`
|
|||
|
|
- `TestFuegeVkzFeldHinzu.test_none_vkz_does_nothing`
|
|||
|
|
- `TestFuegeVkzFeldHinzu.test_vkz_field_added`
|
|||
|
|
- `TestFlaechenvergleich.test_gleiche_flaeche_stimmt_ueberein`
|
|||
|
|
- `TestFlaechenvergleich.test_verschiedene_flaeche_stimmt_nicht_ueberein`
|
|||
|
|
- `TestFlaechenvergleich.test_differenz_innerhalb_toleranz`
|
|||
|
|
- `TestFlaechenvergleich.test_differenz_ausserhalb_toleranz`
|
|||
|
|
- `TestFlaechenvergleich.test_flaechen_werte_korrekt`
|
|||
|
|
- `TestFlaechenvergleich.test_lese_toleranz_default_ist_null`
|
|||
|
|
- `TestFlaechenvergleich.test_lese_toleranz_parst_string`
|
|||
|
|
- `TestFlaechenvergleich.test_lese_toleranz_ungueltig_fallback_null`
|
|||
|
|
- `TestVerfahrensgebietAlkisKomplett.test_vg_alkis_none_aborts`
|
|||
|
|
- `TestVerfahrensgebietAlkisKomplett.test_flst_none_aborts`
|
|||
|
|
- `TestVerfahrensgebietAlkisKomplett.test_no_selection_returns_none_enriched`
|
|||
|
|
- `TestVerfahrensgebietAlkisKomplett.test_invalid_enriched_layer_returns_none`
|
|||
|
|
- `TestVerfahrensgebietAlkisKomplett.test_no_vkz_variable_passes_empty_string`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_edit_service.py` (4 von 21)
|
|||
|
|
|
|||
|
|
- `TestPruefeAuswahl.test_no_selection_fails`
|
|||
|
|
- `TestPruefeAuswahl.test_with_selection_passes`
|
|||
|
|
- `TestPruefeAuswahl.test_selectedFeatureCount_exception_treated_as_zero`
|
|||
|
|
- `TestGetKennzeichenMenge.test_empty_layer_returns_empty_set`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_shape_komplett.py` (20 von 31)
|
|||
|
|
|
|||
|
|
- `TestFindShp.test_findet_shp_in_root`
|
|||
|
|
- `TestFindShp.test_findet_shp_in_unterordner`
|
|||
|
|
- `TestFindShp.test_kein_shp_gibt_none_zurueck`
|
|||
|
|
- `TestFindShp.test_case_insensitive_erkennung`
|
|||
|
|
- `TestErstelleMemoryLayerAusShp.test_leere_geometrien_geben_none`
|
|||
|
|
- `TestErstelleMemoryLayerAusShp.test_keine_features_gibt_none`
|
|||
|
|
- `TestLadeVgAusZip.test_dialog_abgebrochen_gibt_none_zurueck`
|
|||
|
|
- `TestLadeVgAusZip.test_zip_fehler_gibt_none_und_warning`
|
|||
|
|
- `TestLadeVgAusZip.test_kein_shp_in_zip_gibt_none_und_warning`
|
|||
|
|
- `TestLadeVgAusZip.test_invalider_qgslayer_gibt_none_und_warning`
|
|||
|
|
- `TestLadeVgAusZip.test_leere_geometrien_geben_none_und_warning`
|
|||
|
|
- `TestLadeVgAusZip.test_erfolg_gibt_memory_layer_zurueck`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_lade_zip_none_aborts`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_flst_none_aborts`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_keine_flurstuecke_selektiert_gibt_warning`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_flaechen_uebereinstimmung_gibt_info_und_kein_dialog`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_abweichung_abbrechen_gibt_shape_vg_zurueck`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler`
|
|||
|
|
- `TestVerfahrensgebietShapeKomplett.test_temp_layer_wird_stets_entfernt`
|
|||
|
|
|
|||
|
|
#### `Plugin_SN_Verfahrensgebiet/tests/test_working_tab.py` (6 von 30) – auch der Modul-Docstring fehlt
|
|||
|
|
|
|||
|
|
- `TestWorkingTab.test_set_busy_updates_button_state`
|
|||
|
|
- `TestWorkingTab.test_on_verf_layer_changed_valid_sets_variable`
|
|||
|
|
- `TestWorkingTab.test_on_verf_layer_changed_none_clears_variable`
|
|||
|
|
- `TestWorkingTab.test_handle_flurst_alkis_success_sets_haken_and_style`
|
|||
|
|
- `TestWorkingTab.test_handle_flurst_alkis_existing_layer_keep_path`
|
|||
|
|
- `TestWorkingTab.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_provider`
|
|||
|
|
- `TestListenauswerter.test_validate_rows_rejects_missing_required_fields`
|
|||
|
|
- `TestListenauswerter.test_validate_rows_sets_stildatei_none_on_style_failure`
|
|||
|
|
- `TestListenauswerter.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_roundtrip`
|
|||
|
|
- `TestTabALogic.test_verfahrens_db_clear`
|
|||
|
|
- `TestTabALogic.test_linkliste_set_and_load_existing_path`
|
|||
|
|
- `TestTabALogic.test_linkliste_load_returns_none_when_file_missing`
|
|||
|
|
- `TestTabALogic.test_resolve_linkliste_empty_uses_standard_and_persists`
|
|||
|
|
- `TestTabALogic.test_resolve_linkliste_returns_none_when_pruefmanager_rejects`
|
|||
|
|
- `TestTabALogic.test_resolve_raumfilter_without_filter_returns_none`
|
|||
|
|
- `TestTabALogic.test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup`
|
|||
|
|
- `TestTabALogic.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_missing`
|
|||
|
|
- `TestTabAPreconditions.test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project`
|
|||
|
|
- `TestTabAPreconditions.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_crash`
|
|||
|
|
- `TestTabAUI.test_tab_a_raumfilter_callback_persists_value`
|
|||
|
|
- `TestTabAUI.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_state`
|
|||
|
|
- `TestVlnApiLogicCredentials.test_save_api_key_calls_qsettings`
|
|||
|
|
- `TestVlnApiLogicCredentials.test_clear_api_key_calls_remove`
|
|||
|
|
- `TestVlnApiLogicCredentials.test_load_stored_credentials_returns_api_key_and_mail`
|
|||
|
|
- `TestVlnApiLogicCredentials.test_load_stored_credentials_returns_none_for_empty`
|
|||
|
|
- `TestVlnApiLogicLogin.test_login_sets_client_and_saves_key`
|
|||
|
|
- `TestVlnApiLogicLogin.test_login_raises_runtime_error_without_qgis_modules`
|
|||
|
|
- `TestVlnApiLogicLogin.test_login_propagates_api_error`
|
|||
|
|
- `TestVlnApiLogicLogin.test_logout_clears_client`
|
|||
|
|
- `TestVlnApiLogicLogin.test_is_authenticated_false_after_logout`
|
|||
|
|
- `TestVlnApiLogicLogin.test_handle_session_expired_clears_key_and_client`
|
|||
|
|
- `TestVlnApiLogicVerfahren.test_get_verfahren_raises_when_not_authenticated`
|
|||
|
|
- `TestVlnApiLogicVerfahren.test_get_verfahren_delegates_to_client`
|
|||
|
|
- `TestVlnApiLogicVkz.test_load_stored_vkz_reads_from_project`
|
|||
|
|
- `TestVlnApiLogicVkz.test_load_stored_vkz_returns_none_for_empty`
|
|||
|
|
- `TestVlnApiLogicVkz.test_save_vkz_writes_to_project`
|
|||
|
|
- `TestVlnApiLogicVkz.test_save_vkz_does_nothing_for_none`
|
|||
|
|
- `TestVlnApiLogicLoadP41.test_load_p41_raises_without_vln_karten`
|
|||
|
|
- `TestVlnApiLogicLoadP41.test_load_p41_applies_styles_to_polygon_and_line_layers`
|
|||
|
|
- `TestVlnApiLogicLoadP41.test_load_p41_no_style_for_point_layer`
|
|||
|
|
- `TestVlnApiLogicUpload.test_upload_returns_error_for_layer_without_api_path`
|
|||
|
|
- `TestVlnApiLogicUpload.test_upload_returns_error_for_none_layer`
|
|||
|
|
- `TestVlnApiLogicUpload.test_upload_returns_false_without_qgis_modules`
|
|||
|
|
- `TestVlnApiLogicUpload.test_upload_calls_save_feature_collection`
|
|||
|
|
|