From 4f87684224a122b73d2e78061d72e39b6dd2516d Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 17 Sep 2026 15:51:40 +0200 Subject: [PATCH] =?UTF-8?q?Test-Audit:=20TestStilpruefer=20(sn=5Fbasis)=20?= =?UTF-8?q?fachlich=20gepr=C3=BCft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alle 4 Tests gegen modules/stilpruefer.py geprüft - Docstrings passen zur Implementierung, keine Diskrepanzen. Dabei entdeckt: der relative Pfad-Zweig (sn_plan41/assets-Redirect) ist untestet und hängt von get_plugin_root() ab, das laut #50 in Plugin_SN_Verfahrensgebiet einen Junction-Auflösungsfehler hat. Test für diesen Zweig zurückgestellt, bis der #50-Fix vorliegt. Co-Authored-By: Claude Sonnet 5 --- docs/status/testpruefungen.json | 16 ++++++++++++++++ docs/tests/testkatalog.html | 8 ++++---- docs/tests/testkatalog.md | 16 ++++++++-------- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/docs/status/testpruefungen.json b/docs/status/testpruefungen.json index 17d920b..5e074ae 100644 --- a/docs/status/testpruefungen.json +++ b/docs/status/testpruefungen.json @@ -198,5 +198,21 @@ "sn_basis.tests.test_settings_logic.TestSettingsLogic.test_save_empty_string_value_is_persisted": { "datum": "2026-09-17", "hash": "96f217d347c2" + }, + "sn_basis.tests.test_stilpruefer.TestStilpruefer.test_datei_existiert_falsche_endung": { + "datum": "2026-09-17", + "hash": "37de9cd7e14c" + }, + "sn_basis.tests.test_stilpruefer.TestStilpruefer.test_datei_existiert_mit_qml": { + "datum": "2026-09-17", + "hash": "1faf026ed344" + }, + "sn_basis.tests.test_stilpruefer.TestStilpruefer.test_datei_existiert_nicht": { + "datum": "2026-09-17", + "hash": "2919c732c211" + }, + "sn_basis.tests.test_stilpruefer.TestStilpruefer.test_keine_datei_angegeben": { + "datum": "2026-09-17", + "hash": "7a3d7bd800c3" } } diff --git a/docs/tests/testkatalog.html b/docs/tests/testkatalog.html index 45dfc30..f90cbbf 100644 --- a/docs/tests/testkatalog.html +++ b/docs/tests/testkatalog.html @@ -119,14 +119,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 bf007ca0c715)
+
Quelle: docs/tests/testkatalog.md
Baseline: docs/status/testbaseline.json (SHA-256 aeabc946a7f3)
Prüf-Audit: docs/status/testpruefungen.json (SHA-256 0d643cd91110)
346Testfälle
303grün
35rot (Baseline)
58%mit Docstring
-
14%aktuell geprüft
+
16%aktuell geprüft
31Testdateien
Verteilung je Paket
@@ -385,7 +385,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
TestSettingsLogic
test_load
Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest.grüngeprüft am 2026-09-17
TestSettingsLogic
test_save
Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert.grüngeprüft am 2026-09-17
TestSettingsLogic
test_load_handles_partial_values_with_empty_fallback
Prüft, dass load() für jede Variable den (auch leeren) Wert von get_variable() unverändert übernimmt, selbst wenn nicht alle Variablen im Mock konfiguriert sind.grüngeprüft am 2026-09-17
TestSettingsLogic
test_save_empty_string_value_is_persisted
Prüft, dass save() einen leeren String als gültigen Wert speichert, statt ihn wie einen fehlenden Key zu behandeln.grüngeprüft am 2026-09-17

— (Docstring fehlt)

TestStilpruefer 4
flowchart TD
+  classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;
TestfallprüftStatusgeprüft
TestSettingsLogic
test_load
Prüft, dass load() jede bekannte Projektvariable genau einmal über get_variable() liest.grüngeprüft am 2026-09-17
TestSettingsLogic
test_save
Prüft, dass save() nur bekannte Variablen-Keys speichert und unbekannte Keys ignoriert.grüngeprüft am 2026-09-17
TestSettingsLogic
test_load_handles_partial_values_with_empty_fallback
Prüft, dass load() für jede Variable den (auch leeren) Wert von get_variable() unverändert übernimmt, selbst wenn nicht alle Variablen im Mock konfiguriert sind.grüngeprüft am 2026-09-17
TestSettingsLogic
test_save_empty_string_value_is_persisted
Prüft, dass save() einen leeren String als gültigen Wert speichert, statt ihn wie einen fehlenden Key zu behandeln.grüngeprüft am 2026-09-17

— (Docstring fehlt)

TestStilpruefer 4
flowchart TD
   root(["test_stilpruefer.py"])
   class root rootnode
   root --> g1["TestStilpruefer (4)"]
@@ -402,7 +402,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
TestStilpruefer
test_keine_datei_angegeben
Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional).grünnie geprüft
TestStilpruefer
test_datei_existiert_mit_qml
Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird.grünnie geprüft
TestStilpruefer
test_datei_existiert_falsche_endung
Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird.grünnie geprüft
TestStilpruefer
test_datei_existiert_nicht
Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird.grünnie geprüft

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
TestStilpruefer
test_keine_datei_angegeben
Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional).grüngeprüft am 2026-09-17
TestStilpruefer
test_datei_existiert_mit_qml
Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird.grüngeprüft am 2026-09-17
TestStilpruefer
test_datei_existiert_falsche_endung
Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird.grüngeprüft am 2026-09-17
TestStilpruefer
test_datei_existiert_nicht
Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird.grüngeprüft am 2026-09-17

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)"]
diff --git a/docs/tests/testkatalog.md b/docs/tests/testkatalog.md
index a6f77bf..4265aa6 100644
--- a/docs/tests/testkatalog.md
+++ b/docs/tests/testkatalog.md
@@ -8,20 +8,20 @@ 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 `bf007ca0c715`)
+Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `0d643cd91110`)
 
 Gesamt: 3 Pakete, 31 Testdateien, 346 Testfälle – 303 grün, 35 rot (Baseline), 8 übersprungen.
 Mit Beschreibung (Docstring): 201 von 346 (58 %).
-Fachlich geprüft: 50 von 346 (14 %) aktuell, 0 veraltet seit Codeänderung, 296 nie geprüft.
+Fachlich geprüft: 54 von 346 (16 %) aktuell, 0 veraltet seit Codeänderung, 292 nie geprüft.
 
 ## Zusammenfassung
 
 | Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft |
 | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
-| `sn_basis` | 14 | 95 | 95 | 0 | 0 | 95 von 95 (100 %) | 50 von 95 (53 %) |
+| `sn_basis` | 14 | 95 | 95 | 0 | 0 | 95 von 95 (100 %) | 54 von 95 (57 %) |
 | `sn_verfahrensgebiet` | 12 | 207 | 165 | 34 | 8 | 105 von 207 (51 %) | 0 von 207 (0 %) |
 | `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) |
-| **Summe** | **31** | **346** | **303** | **35** | **8** | **201 von 346 (58 %)** | **50 von 346 (14 %)** |
+| **Summe** | **31** | **346** | **303** | **35** | **8** | **201 von 346 (58 %)** | **54 von 346 (16 %)** |
 
 ### Legende
 
@@ -224,10 +224,10 @@ Testgruppen:
 
 | Testfall | prüft | Status | geprüft |
 | --- | --- | --- | --- |
-| `TestStilpruefer.test_keine_datei_angegeben` | Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional). | grün | nie geprüft |
-| `TestStilpruefer.test_datei_existiert_mit_qml` | Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird. | grün | nie geprüft |
-| `TestStilpruefer.test_datei_existiert_falsche_endung` | Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird. | grün | nie geprüft |
-| `TestStilpruefer.test_datei_existiert_nicht` | Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird. | grün | nie geprüft |
+| `TestStilpruefer.test_keine_datei_angegeben` | Prüft, dass eine leere Pfadangabe als 'ok' ohne Kontext akzeptiert wird (Stil ist optional). | grün | geprüft am 2026-09-17 |
+| `TestStilpruefer.test_datei_existiert_mit_qml` | Prüft, dass eine existierende .qml-Datei als 'stil_anwendbar' bestätigt wird. | grün | geprüft am 2026-09-17 |
+| `TestStilpruefer.test_datei_existiert_falsche_endung` | Prüft, dass eine existierende Datei ohne .qml-Endung als 'falsche_endung' abgelehnt wird. | grün | geprüft am 2026-09-17 |
+| `TestStilpruefer.test_datei_existiert_nicht` | Prüft, dass ein nicht existierender .qml-Pfad als 'datei_nicht_gefunden' abgelehnt wird. | grün | geprüft am 2026-09-17 |
 
 ### `Plugin_SN_Basis/tests/test_text_wrapper.py`