diff --git a/docs/status/testpruefungen.json b/docs/status/testpruefungen.json index b8538a1..4802dbc 100644 --- a/docs/status/testpruefungen.json +++ b/docs/status/testpruefungen.json @@ -1102,5 +1102,33 @@ "sn_basis.tests.test_sys_wrapper.TestGetPluginRoot.test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung": { "datum": "2026-09-17", "hash": "c9b434520d62" + }, + "sn_basis.tests.test_text_wrapper.TestSanitizeBezeichner.test_bindestrich_bleibt_erhalten": { + "datum": "2026-10-26", + "hash": "a1de976f5f20" + }, + "sn_basis.tests.test_text_wrapper.TestSanitizeBezeichner.test_eigenes_ersatzzeichen_wird_verwendet": { + "datum": "2026-10-26", + "hash": "d16f5008bd62" + }, + "sn_basis.tests.test_text_wrapper.TestSanitizeBezeichner.test_fuehrender_und_folgender_ersatz_wird_entfernt": { + "datum": "2026-10-26", + "hash": "ab42871a20fa" + }, + "sn_basis.tests.test_text_wrapper.TestSanitizeBezeichner.test_leerzeichen_wird_durch_ersatz_zusammengefasst": { + "datum": "2026-10-26", + "hash": "1dce6552ffc9" + }, + "sn_basis.tests.test_text_wrapper.TestSanitizeBezeichner.test_nur_unzulaessige_zeichen_ergibt_leeren_string": { + "datum": "2026-10-26", + "hash": "9510c5cfe9e3" + }, + "sn_basis.tests.test_text_wrapper.TestSanitizeBezeichner.test_umlaute_bleiben_erhalten": { + "datum": "2026-10-26", + "hash": "b0039225e94f" + }, + "sn_basis.tests.test_text_wrapper.TestSanitizeBezeichner.test_unterstrich_bleibt_erhalten": { + "datum": "2026-10-26", + "hash": "9ff48d7734c8" } } diff --git a/docs/tests/testkatalog.html b/docs/tests/testkatalog.html index c96082f..6b921f1 100644 --- a/docs/tests/testkatalog.html +++ b/docs/tests/testkatalog.html @@ -123,14 +123,14 @@

Prüfstand

Testkatalog der sn_*-Plugins — was die Suite heute prüft, auf einen Blick.
-
Quelle: docs/tests/testkatalog.md
Baseline: docs/status/testbaseline.json (SHA-256 aeabc946a7f3)
Prüf-Audit: docs/status/testpruefungen.json (SHA-256 daf91d241b5f)
+
Quelle: docs/tests/testkatalog.md
Baseline: docs/status/testbaseline.json (SHA-256 aeabc946a7f3)
Prüf-Audit: docs/status/testpruefungen.json (SHA-256 92b94e7ed46e)
696Testfälle
653grün
35rot (Baseline)
79%mit Docstring
-
40%aktuell geprüft
+
41%aktuell geprüft
55Testdateien
34%ohne Testbezug
@@ -163,7 +163,7 @@ -
32Testdateien
363Testfälle
363grün
0rot (Baseline)
100%mit Docstring
76%geprüft
70ohne Testbezug
+
32Testdateien
363Testfälle
363grün
0rot (Baseline)
100%mit Docstring
78%geprüft
70ohne Testbezug

Tests für sn_basis/ui/base_dockwidget.py::closeEvent (Issue #65).

CloseEventTests 5
flowchart TD
   root(["test_base_dockwidget.py"])
   class root rootnode
@@ -1192,7 +1192,7 @@
   classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
   classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
   classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
-  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestGetPluginRoot
test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung
Prüft, dass get_plugin_root() bei einem über eine Verzeichnisverknüpfung (wie von link_qgis_profile.py angelegt) erreichten Modul den verlinkten Pfad liefert, statt zum echten Zielverzeichnis aufzulösen (Verfahrensgebiet #50).grüngeprüft am 2026-09-17
JoinPathTests
test_verbindet_mehrere_pfadbestandteile
Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt.grüngeprüft am 2026-10-26
FileExistsTests
test_vorhandene_datei_liefert_true
Prüft, dass file_exists für eine vorhandene Datei True liefert.grüngeprüft am 2026-10-26
FileExistsTests
test_fehlende_datei_liefert_false
Prüft, dass file_exists für eine nicht vorhandene Datei False liefert.grüngeprüft am 2026-10-26
FileExistsTests
test_ungueltiger_pfad_liefert_false_statt_ausnahme
Prüft, dass file_exists für einen ungültigen Pfad (Nullzeichen) False liefert, statt eine Ausnahme zu werfen.grüngeprüft am 2026-10-26
FileExistsTests
test_verzeichnis_gilt_derzeit_als_vorhandene_datei
Prüft, dass file_exists derzeit auch für ein Verzeichnis True liefert (Ist-Zustand, nicht bestätigt gewünscht).grüngeprüft am 2026-10-26
EnsureDirTests
test_legt_fehlendes_verzeichnis_inklusive_eltern_an
Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt.grüngeprüft am 2026-10-26
EnsureDirTests
test_vorhandenes_verzeichnis_wirft_keinen_fehler
Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft und den Pfad liefert.grüngeprüft am 2026-10-26
GetattrSafeTests
test_liefert_vorhandenes_attribut
Prüft, dass getattr_safe ein vorhandenes Attribut liefert.grüngeprüft am 2026-10-26
GetattrSafeTests
test_liefert_default_bei_fehlendem_attribut
Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert.grüngeprüft am 2026-10-26
GetattrSafeTests
test_liefert_default_wenn_attributzugriff_andere_ausnahme_wirft
Prüft, dass getattr_safe auch bei einer anderen Ausnahme als AttributeError den Default-Wert liefert.grüngeprüft am 2026-10-26

Unit-Tests für `sn_basis.functions.text_wrapper`.

TestSanitizeBezeichner 7
flowchart TD
+  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestGetPluginRoot
test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung
Prüft, dass get_plugin_root() bei einem über eine Verzeichnisverknüpfung (wie von link_qgis_profile.py angelegt) erreichten Modul den verlinkten Pfad liefert, statt zum echten Zielverzeichnis aufzulösen (Verfahrensgebiet #50).grüngeprüft am 2026-09-17
JoinPathTests
test_verbindet_mehrere_pfadbestandteile
Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt.grüngeprüft am 2026-10-26
FileExistsTests
test_vorhandene_datei_liefert_true
Prüft, dass file_exists für eine vorhandene Datei True liefert.grüngeprüft am 2026-10-26
FileExistsTests
test_fehlende_datei_liefert_false
Prüft, dass file_exists für eine nicht vorhandene Datei False liefert.grüngeprüft am 2026-10-26
FileExistsTests
test_ungueltiger_pfad_liefert_false_statt_ausnahme
Prüft, dass file_exists für einen ungültigen Pfad (Nullzeichen) False liefert, statt eine Ausnahme zu werfen.grüngeprüft am 2026-10-26
FileExistsTests
test_verzeichnis_gilt_derzeit_als_vorhandene_datei
Prüft, dass file_exists derzeit auch für ein Verzeichnis True liefert (Ist-Zustand, nicht bestätigt gewünscht).grüngeprüft am 2026-10-26
EnsureDirTests
test_legt_fehlendes_verzeichnis_inklusive_eltern_an
Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt.grüngeprüft am 2026-10-26
EnsureDirTests
test_vorhandenes_verzeichnis_wirft_keinen_fehler
Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft und den Pfad liefert.grüngeprüft am 2026-10-26
GetattrSafeTests
test_liefert_vorhandenes_attribut
Prüft, dass getattr_safe ein vorhandenes Attribut liefert.grüngeprüft am 2026-10-26
GetattrSafeTests
test_liefert_default_bei_fehlendem_attribut
Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert.grüngeprüft am 2026-10-26
GetattrSafeTests
test_liefert_default_wenn_attributzugriff_andere_ausnahme_wirft
Prüft, dass getattr_safe auch bei einer anderen Ausnahme als AttributeError den Default-Wert liefert.grüngeprüft am 2026-10-26

Unit-Tests für `sn_basis.functions.text_wrapper`.

TestSanitizeBezeichner 7
flowchart TD
   root(["test_text_wrapper.py"])
   class root rootnode
   root --> g1["TestSanitizeBezeichner (7)"]
@@ -1215,7 +1215,7 @@
   classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
   classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
   classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
-  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestSanitizeBezeichner
test_umlaute_bleiben_erhalten
Prüft, dass Umlaute und ß nicht durch den Ersatz entfernt werden.grünnie geprüft
TestSanitizeBezeichner
test_bindestrich_bleibt_erhalten
Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42).grünnie geprüft
TestSanitizeBezeichner
test_unterstrich_bleibt_erhalten
Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt.grünnie geprüft
TestSanitizeBezeichner
test_leerzeichen_wird_durch_ersatz_zusammengefasst
Prüft, dass Leerzeichen (kein zulässiges Zeichen) zu einem Ersatzzeichen werden.grünnie geprüft
TestSanitizeBezeichner
test_fuehrender_und_folgender_ersatz_wird_entfernt
Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird.grünnie geprüft
TestSanitizeBezeichner
test_eigenes_ersatzzeichen_wird_verwendet
Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird.grünnie geprüft
TestSanitizeBezeichner
test_nur_unzulaessige_zeichen_ergibt_leeren_string
Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird.grünnie geprüft

— (Docstring fehlt)

TestVariableWrapper 6
flowchart TD
+  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestSanitizeBezeichner
test_umlaute_bleiben_erhalten
Prüft, dass alle Umlaute (klein und groß) und ß nicht durch den Ersatz entfernt werden.grüngeprüft am 2026-10-26
TestSanitizeBezeichner
test_bindestrich_bleibt_erhalten
Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42).grüngeprüft am 2026-10-26
TestSanitizeBezeichner
test_unterstrich_bleibt_erhalten
Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt.grüngeprüft am 2026-10-26
TestSanitizeBezeichner
test_leerzeichen_wird_durch_ersatz_zusammengefasst
Prüft, dass eine Folge unzulässiger Zeichen (hier zwei Leerzeichen) zu genau einem Ersatzzeichen zusammengefasst wird.grüngeprüft am 2026-10-26
TestSanitizeBezeichner
test_fuehrender_und_folgender_ersatz_wird_entfernt
Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird.grüngeprüft am 2026-10-26
TestSanitizeBezeichner
test_eigenes_ersatzzeichen_wird_verwendet
Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird.grüngeprüft am 2026-10-26
TestSanitizeBezeichner
test_nur_unzulaessige_zeichen_ergibt_leeren_string
Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird.grüngeprüft am 2026-10-26

— (Docstring fehlt)

TestVariableWrapper 6
flowchart TD
   root(["test_variable_wrapper.py"])
   class root rootnode
   root --> g1["TestVariableWrapper (6)"]
diff --git a/docs/tests/testkatalog.md b/docs/tests/testkatalog.md
index d39f36e..4999125 100644
--- a/docs/tests/testkatalog.md
+++ b/docs/tests/testkatalog.md
@@ -8,21 +8,21 @@ für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus
 selbst (Docstrings) und aus der Testbaseline.
 
 Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`)
-Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `daf91d241b5f`)
+Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `92b94e7ed46e`)
 
 Gesamt: 3 Pakete, 55 Testdateien, 696 Testfälle – 653 grün, 35 rot (Baseline), 8 übersprungen.
 Mit Beschreibung (Docstring): 551 von 696 (79 %).
-Fachlich geprüft: 276 von 696 (40 %) aktuell, 0 veraltet seit Codeänderung, 420 nie geprüft.
+Fachlich geprüft: 283 von 696 (41 %) aktuell, 0 veraltet seit Codeänderung, 413 nie geprüft.
 Strukturelle Lücken (heuristisch, Namensabgleich): 160 von 470 (34 %) Funktionen/Methoden ohne erkennbaren Testbezug – Abschnitt „Ungetestete Funktionen“.
 
 ## Zusammenfassung
 
 | Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft | ohne Testbezug |
 | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
-| `sn_basis` | 32 | 363 | 363 | 0 | 0 | 363 von 363 (100 %) | 276 von 363 (76 %) | 70 von 229 (31 %) |
+| `sn_basis` | 32 | 363 | 363 | 0 | 0 | 363 von 363 (100 %) | 283 von 363 (78 %) | 70 von 229 (31 %) |
 | `sn_verfahrensgebiet` | 18 | 289 | 247 | 34 | 8 | 187 von 289 (65 %) | 0 von 289 (0 %) | 51 von 161 (32 %) |
 | `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) | 39 von 80 (49 %) |
-| **Summe** | **55** | **696** | **653** | **35** | **8** | **551 von 696 (79 %)** | **276 von 696 (40 %)** | **160 von 470 (34 %)** |
+| **Summe** | **55** | **696** | **653** | **35** | **8** | **551 von 696 (79 %)** | **283 von 696 (41 %)** | **160 von 470 (34 %)** |
 
 ### Legende
 
@@ -750,13 +750,13 @@ Testgruppen:
 
 | Testfall | prüft | Status | geprüft |
 | --- | --- | --- | --- |
-| `TestSanitizeBezeichner.test_umlaute_bleiben_erhalten` | Prüft, dass Umlaute und ß nicht durch den Ersatz entfernt werden. | grün | nie geprüft |
-| `TestSanitizeBezeichner.test_bindestrich_bleibt_erhalten` | Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42). | grün | nie geprüft |
-| `TestSanitizeBezeichner.test_unterstrich_bleibt_erhalten` | Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt. | grün | nie geprüft |
-| `TestSanitizeBezeichner.test_leerzeichen_wird_durch_ersatz_zusammengefasst` | Prüft, dass Leerzeichen (kein zulässiges Zeichen) zu einem Ersatzzeichen werden. | grün | nie geprüft |
-| `TestSanitizeBezeichner.test_fuehrender_und_folgender_ersatz_wird_entfernt` | Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird. | grün | nie geprüft |
-| `TestSanitizeBezeichner.test_eigenes_ersatzzeichen_wird_verwendet` | Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird. | grün | nie geprüft |
-| `TestSanitizeBezeichner.test_nur_unzulaessige_zeichen_ergibt_leeren_string` | Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird. | grün | nie geprüft |
+| `TestSanitizeBezeichner.test_umlaute_bleiben_erhalten` | Prüft, dass alle Umlaute (klein und groß) und ß nicht durch den Ersatz entfernt werden. | grün | geprüft am 2026-10-26 |
+| `TestSanitizeBezeichner.test_bindestrich_bleibt_erhalten` | Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42). | grün | geprüft am 2026-10-26 |
+| `TestSanitizeBezeichner.test_unterstrich_bleibt_erhalten` | Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt. | grün | geprüft am 2026-10-26 |
+| `TestSanitizeBezeichner.test_leerzeichen_wird_durch_ersatz_zusammengefasst` | Prüft, dass eine Folge unzulässiger Zeichen (hier zwei Leerzeichen) zu genau einem Ersatzzeichen zusammengefasst wird. | grün | geprüft am 2026-10-26 |
+| `TestSanitizeBezeichner.test_fuehrender_und_folgender_ersatz_wird_entfernt` | Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird. | grün | geprüft am 2026-10-26 |
+| `TestSanitizeBezeichner.test_eigenes_ersatzzeichen_wird_verwendet` | Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird. | grün | geprüft am 2026-10-26 |
+| `TestSanitizeBezeichner.test_nur_unzulaessige_zeichen_ergibt_leeren_string` | Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird. | grün | geprüft am 2026-10-26 |
 
 ### `Plugin_SN_Basis/tests/test_variable_wrapper.py`