Basemap-Legende (Basis #92): weiße Flächen mit Legendenrand dokumentiert

- Konzept 10, Abschnitt 10: Punkt „Platz kaum zu sehen“ als behoben vermerkt
- STATUS.md Punkt 15: Stand nach Merge von #88/#90, #92 als PR ausstehend
- modulkarte.md: basemap_legende_layout.py (465 Zeilen)
- Testkatalog neu erzeugt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 12:50:13 +02:00
co-authored by Claude Opus 5.5
parent d93ef2c833
commit 99a8156036
5 changed files with 63 additions and 21 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ Legende: ⚠ = über 600 Zeilen, nie komplett laden, per `grep -n "def "` navigi
| `modules/print_layout_baufreigabe.py` | 403 | Layout „Anlage zur Baufreigabe“ (feste DIN A3/A4 quer) | | `modules/print_layout_baufreigabe.py` | 403 | Layout „Anlage zur Baufreigabe“ (feste DIN A3/A4 quer) |
| `modules/basemap_legende.py` | 471 | Basemap-Legende (#88): Legendenkatalog laden, Styles → Einträge, Auswahl merken, Basemap-Layer erkennen, Auswertebereich; `BasemapLegende.aktualisiere(layout)` als Einstieg | | `modules/basemap_legende.py` | 471 | Basemap-Legende (#88): Legendenkatalog laden, Styles → Einträge, Auswahl merken, Basemap-Layer erkennen, Auswertebereich; `BasemapLegende.aktualisiere(layout)` als Einstieg |
| `modules/basemap_kacheln.py` | 192 | Kacheln des Basemap-Layers kachelweise über `selectByGeometry` auswerten, Renderer-Styles lesen, Zoomstufen wie der QGIS-Renderer | | `modules/basemap_kacheln.py` | 192 | Kacheln des Basemap-Layers kachelweise über `selectByGeometry` auswerten, Renderer-Styles lesen, Zoomstufen wie der QGIS-Renderer |
| `modules/basemap_legende_layout.py` | 396 | Legendensymbole aus Projektlayer-Styles zusammensetzen, leere Hilfslayer, Legendenelement „Legende Basemap“ schreiben und platzieren | | `modules/basemap_legende_layout.py` | 465 | Legendensymbole aus Projektlayer-Styles zusammensetzen (weiße Flächen mit Legendenrand, #92), leere Hilfslayer, Legendenelement „Legende Basemap“ schreiben und platzieren |
| `modules/basemap_katalog.py` | 418 | Erzeugt/aktualisiert `data/basemap_legende.json` aus der basemap.de-Style-JSON (nur Standardbibliothek, eigenständig aufrufbar) | | `modules/basemap_katalog.py` | 418 | Erzeugt/aktualisiert `data/basemap_legende.json` aus der basemap.de-Style-JSON (nur Standardbibliothek, eigenständig aufrufbar) |
| `modules/basemap_stilkorrektur.py` | 99 | Darstellungsfehler des Basemap-Layers korrigieren: Punktlinien mit Strichlänge 0 sichtbar machen (#90) | | `modules/basemap_stilkorrektur.py` | 99 | Darstellungsfehler des Basemap-Layers korrigieren: Punktlinien mit Strichlänge 0 sichtbar machen (#90) |
| `modules/basemap_stilvorlagen.py` | 181 | Lokale Stilvorlagen des Basemap-Layers (QML + JSON im QGIS-Profil), Standard in `QSettings` | | `modules/basemap_stilvorlagen.py` | 181 | Lokale Stilvorlagen des Basemap-Layers (QML + JSON im QGIS-Profil), Standard in `QSettings` |
+2 -1
View File
@@ -255,7 +255,8 @@ Begründung der Legendenvariante: ADR 0010.
Durchgang der Bezeichnungen ist gemacht; **die fachliche Abnahme steht aus.** Durchgang der Bezeichnungen ist gemacht; **die fachliche Abnahme steht aus.**
**Bekannte Punkte für die Durchsicht:** **Bekannte Punkte für die Durchsicht:**
- „Platz“ (Verkehr, Siedlung) hat im Basemap-Stil eine weiße Füllung ohne Rand und ist in der Legende kaum zu sehen. - ~~„Platz“ (Verkehr, Siedlung) in der Legende kaum zu sehen~~ – behoben in **Basis #92**: weiße Flächen ohne Kontur
bekommen im Legendensymbol einen grauen Rand (0,15 mm); die Karte bleibt unverändert.
- ~~„Durchlass, Düker“ und „Baumreihe“ ohne sichtbares Symbol~~ – Ursache gefunden und behoben in **Basis #90**: - ~~„Durchlass, Düker“ und „Baumreihe“ ohne sichtbares Symbol~~ – Ursache gefunden und behoben in **Basis #90**:
basemap.de zeichnet Punktlinien mit Strichlänge 0, die Qt nicht zeichnet (auch nicht in der Karte). Knopf basemap.de zeichnet Punktlinien mit Strichlänge 0, die Qt nicht zeichnet (auch nicht in der Karte). Knopf
„Punktlinien korrigieren“ im Basemap-Bereich (12 Styles betroffen). „Punktlinien korrigieren“ im Basemap-Bereich (12 Styles betroffen).
+5 -5
View File
@@ -63,11 +63,11 @@ spätere Phase und beginnt erst, wenn die Test-Baseline grün ist und das Projek
(fest verdrahteter NAS-Namespace `gid/6.0` in `grenzpunkt_alkis.py`, abgeflachte WFS-Feldnamen in (fest verdrahteter NAS-Namespace `gid/6.0` in `grenzpunkt_alkis.py`, abgeflachte WFS-Feldnamen in
`sql=`-Filtern). Vergleich 6↔7 und Anpassungsliste: `docs/konzept/09_alkis7_umstellung.md`. `sql=`-Filtern). Vergleich 6↔7 und Anpassungsliste: `docs/konzept/09_alkis7_umstellung.md`.
Nächster Schritt: Gitea-Issue in `Plugin_SN_Verfahrensgebiet`. Nächster Schritt: Gitea-Issue in `Plugin_SN_Verfahrensgebiet`.
15. **Basemap-Legende im Druck (Basis #88).** Umgesetzt auf `Plugin_SN_Basis:feature/88-basemap-legende` 15. **Basemap-Legende im Druck (Basis #88).** In `unstable` gemergt: #88 (PR #89), Punktlinien-Korrektur #90
(Konzept `docs/konzept/10_basemap_legende.md`, ADR 0010). Offen: **fachliche Abnahme des (PR #91). Rand für weiße Flächen (#92) auf `Plugin_SN_Basis:bugfix/92-basemap-legende-weisse-flaechen`,
Legendenkatalogs** `sn_basis/data/basemap_legende.json` (Bezeichnungen, Gruppen, Zusammenfassungen; „Platz“ PR steht aus. Offen: **fachliche Abnahme des Legendenkatalogs** `sn_basis/data/basemap_legende.json`
als weiße Fläche ohne Rand, siehe Konzept Abschnitt 10) und Test unter QGIS 4. #88 ist gemergt (PR #89); (Bezeichnungen, Gruppen, Zusammenfassungen; Konzept `docs/konzept/10_basemap_legende.md` Abschnitt 10,
Punktlinien-Korrektur (#90) auf `Plugin_SN_Basis:bugfix/90-basemap-punktlinien`, PR steht aus. ADR 0010) und Test unter QGIS 4.
**Hinweis zum lokalen Stand (04.09.2026):** Die Klone `Plugin_SN_Verfahrensgebiet` (4 Commits: PR #43, PR #45) **Hinweis zum lokalen Stand (04.09.2026):** Die Klone `Plugin_SN_Verfahrensgebiet` (4 Commits: PR #43, PR #45)
und `Repository` (Release 26.8.4-unstable) liegen hinter `origin`. Aktualisieren mit `python scripts/hallo.py`. und `Repository` (Release 26.8.4-unstable) liegen hinter `origin`. Aktualisieren mit `python scripts/hallo.py`.
+31 -8
View File
@@ -119,20 +119,20 @@
<span class="tagline">Testkatalog der sn_*-Plugins — was die Suite heute prüft, auf einen Blick.</span></div> <span class="tagline">Testkatalog der sn_*-Plugins — was die Suite heute prüft, auf einen Blick.</span></div>
<div class="meta-line">Quelle: <b>docs/tests/testkatalog.md</b><br>Baseline: <span class="mono">docs/status/testbaseline.json</span> (SHA-256 aeabc946a7f3)</div></div> <div class="meta-line">Quelle: <b>docs/tests/testkatalog.md</b><br>Baseline: <span class="mono">docs/status/testbaseline.json</span> (SHA-256 aeabc946a7f3)</div></div>
<div class="summary"> <div class="summary">
<div class="stat"><span class="n">656</span><span class="l">Testfälle</span></div> <div class="stat"><span class="n">662</span><span class="l">Testfälle</span></div>
<div class="stat ok"><span class="n">613</span><span class="l">grün</span></div> <div class="stat ok"><span class="n">619</span><span class="l">grün</span></div>
<div class="stat warn"><span class="n">35</span><span class="l">rot (Baseline)</span></div> <div class="stat warn"><span class="n">35</span><span class="l">rot (Baseline)</span></div>
<div class="stat skip"><span class="n">8</span><span class="l">übersprungen</span></div> <div class="stat skip"><span class="n">8</span><span class="l">übersprungen</span></div>
<div class="stat"><span class="n">78%</span><span class="l">mit Docstring</span></div> <div class="stat"><span class="n">78%</span><span class="l">mit Docstring</span></div>
<div class="stat"><span class="n">56</span><span class="l">Testdateien</span></div> <div class="stat"><span class="n">57</span><span class="l">Testdateien</span></div>
</div> </div>
<div class="pkg-bars"><div class="pkg-bars-title">Verteilung je Paket</div> <div class="pkg-bars"><div class="pkg-bars-title">Verteilung je Paket</div>
<div class="pkg-bar-row"><span class="name">sn_basis</span><span class="minibar" role="img" aria-label="404 grün, 0 rot, 0 übersprungen"><span class="seg seg-ok" style="width:100%"></span><span class="seg seg-warn" style="width:0%"></span><span class="seg seg-skip" style="width:0%"></span></span><span class="count">39 Dateien · 404 Testfälle</span></div> <div class="pkg-bar-row"><span class="name">sn_basis</span><span class="minibar" role="img" aria-label="410 grün, 0 rot, 0 übersprungen"><span class="seg seg-ok" style="width:100%"></span><span class="seg seg-warn" style="width:0%"></span><span class="seg seg-skip" style="width:0%"></span></span><span class="count">40 Dateien · 410 Testfälle</span></div>
<div class="pkg-bar-row"><span class="name">sn_verfahrensgebiet</span><span class="minibar" role="img" aria-label="166 grün, 34 rot, 8 übersprungen"><span class="seg seg-ok" style="width:80%"></span><span class="seg seg-warn" style="width:16%"></span><span class="seg seg-skip" style="width:4%"></span></span><span class="count">12 Dateien · 208 Testfälle</span></div> <div class="pkg-bar-row"><span class="name">sn_verfahrensgebiet</span><span class="minibar" role="img" aria-label="166 grün, 34 rot, 8 übersprungen"><span class="seg seg-ok" style="width:80%"></span><span class="seg seg-warn" style="width:16%"></span><span class="seg seg-skip" style="width:4%"></span></span><span class="count">12 Dateien · 208 Testfälle</span></div>
<div class="pkg-bar-row"><span class="name">sn_plan41</span><span class="minibar" role="img" aria-label="43 grün, 1 rot, 0 übersprungen"><span class="seg seg-ok" style="width:98%"></span><span class="seg seg-warn" style="width:2%"></span><span class="seg seg-skip" style="width:0%"></span></span><span class="count">5 Dateien · 44 Testfälle</span></div> <div class="pkg-bar-row"><span class="name">sn_plan41</span><span class="minibar" role="img" aria-label="43 grün, 1 rot, 0 übersprungen"><span class="seg seg-ok" style="width:98%"></span><span class="seg seg-warn" style="width:2%"></span><span class="seg seg-skip" style="width:0%"></span></span><span class="count">5 Dateien · 44 Testfälle</span></div>
</div> </div>
<div class="controls"><nav class="nav-links"> <div class="controls"><nav class="nav-links">
<a href="#pkg-sn_basis">sn_basis <span class="mono">(404)</span></a> <a href="#pkg-sn_basis">sn_basis <span class="mono">(410)</span></a>
<a href="#pkg-sn_verfahrensgebiet">sn_verfahrensgebiet <span class="mono">(208)</span></a> <a href="#pkg-sn_verfahrensgebiet">sn_verfahrensgebiet <span class="mono">(208)</span></a>
<a href="#pkg-sn_plan41">sn_plan41 <span class="mono">(44)</span></a> <a href="#pkg-sn_plan41">sn_plan41 <span class="mono">(44)</span></a>
</nav><div class="filters"> </nav><div class="filters">
@@ -147,9 +147,9 @@
<div class="pkg-head"> <div class="pkg-head">
<div> <div>
<h2>sn_basis</h2> <h2>sn_basis</h2>
<p class="pkg-sub">Plattform-Plugin · Ordner <span class="mono">Plugin_SN_Basis</span> · 39 Testdateien · 404 Testfälle</p> <p class="pkg-sub">Plattform-Plugin · Ordner <span class="mono">Plugin_SN_Basis</span> · 40 Testdateien · 410 Testfälle</p>
</div> </div>
<div class="pkg-bar" role="img" aria-label="404 grün, 0 rot, 0 übersprungen"> <div class="pkg-bar" role="img" aria-label="410 grün, 0 rot, 0 übersprungen">
<span class="seg seg-ok" style="width:100%"></span><span class="seg seg-warn" style="width:0%"></span><span class="seg seg-skip" style="width:0%"></span> <span class="seg seg-ok" style="width:100%"></span><span class="seg seg-warn" style="width:0%"></span><span class="seg seg-skip" style="width:0%"></span>
</div> </div>
</div> </div>
@@ -361,7 +361,30 @@
classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420; classDef groupnode fill:#cfe0da,stroke:#5c8a7d,stroke-width:1px,color:#152420;
classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20; classDef ok fill:#dcefdc,stroke:#3f7d4a,stroke-width:1px,color:#1c3a20;
classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08; classDef warn fill:#f6ead9,stroke:#b5722a,stroke-width:1px,color:#4a2c08;
classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th></tr></thead><tbody><tr><td class="mono">TestKennzeichenUndKarte<br><span class="testname">test_layout_kennzeichen_setzen_und_erkennen</span></td><td>Prüft, dass ein markiertes Layout als Nutzer der Basemap-Legende erkannt und in der Projektliste geführt wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestKennzeichenUndKarte<br><span class="testname">test_hauptkarte_ueber_id</span></td><td>Prüft, dass die Karte mit der ID „Hauptkarte“ gefunden wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSymbolwahl<br><span class="testname">test_symbolnamen_aus_aktiven_symbol_stilen_in_renderer_reihenfolge</span></td><td>Prüft, dass die Symbol-Styles des Katalogs in Zeichenreihenfolge genommen und inaktive übergangen werden.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSymbolwahl<br><span class="testname">test_ohne_aktive_symbol_stile_erster_getroffener_style</span></td><td>Prüft, dass ohne aktiven Symbol-Style der erste tatsächlich getroffene Style das Legendensymbol liefert.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHilfslayer<br><span class="testname">test_je_gruppe_und_geometrietyp_ein_leerer_hilfslayer</span></td><td>Prüft, dass je Gruppe und Geometrietyp ein Hilfslayer außerhalb des Layerbaums entsteht, Flächen vor Linien, ohne Rückfrage beim Schließen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHilfslayer<br><span class="testname">test_alte_hilfslayer_werden_entfernt</span></td><td>Prüft, dass die Hilfslayer einer früheren Basemap-Legende des Layouts aus dem Projekt entfernt werden.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHilfslayer<br><span class="testname">test_ohne_eintraege_wird_vorhandene_basemap_legende_entfernt</span></td><td>Prüft, dass ohne gewählte Einträge eine vorhandene Basemap-Legende entfernt und die Auswahl am Layout vermerkt wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPlatzierung<br><span class="testname">test_einspaltig_ueber_der_quellenangabe</span></td><td>Prüft, dass die Basemap-Legende einspaltig unten an der Quellenangabe verankert wird, wenn der Platz reicht.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPlatzierung<br><span class="testname">test_mehrspaltig_wenn_hoehe_nicht_reicht</span></td><td>Prüft, dass die Legende zwei- oder dreispaltig wird, wenn sie einspaltig nicht zwischen Hauptlegende und Quellenangabe passt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPlatzierung<br><span class="testname">test_nie_breiter_als_der_seitenrand_mit_hinweis</span></td><td>Prüft, dass keine Spaltenzahl gewählt wird, die über den Seitenrand ragt, und dann ein Hinweis kommt.</td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_basemap_stilkorrektur.py testmusterundausdruck test_strichlaenge_null_im_festen_muster testmusterundausdruck test_strichlaenge_null_im_zoomabhaengigen_ausdruck testlayerkorrektur test_punktlinien_werden_korrigiert_andere_styles_nicht testlayerkorrektur test_zweiter_lauf_korrigiert_nichts testlayerkorrektur test_nur_ausdruck_ohne_festes_muster testlayerkorrektur test_layer_ohne_renderer" data-hasred="0" data-hasskip="0" data-nodoc="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-basemap-stilkorrektur-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_basemap_stilkorrektur.py</span><span class="card-meta"><span class="count-total">6 Testfälle</span><span class="cpill cpill-ok">6</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-basemap-stilkorrektur-py"><p class="filedesc">Tests für modules/basemap_stilkorrektur.py – Punktlinien des Basemap-Layers sichtbar machen (Basis #90).</p><div class="gchips"><span class="gchip" title="">TestMusterUndAusdruck <b>2</b></span><span class="gchip" title="">TestLayerkorrektur <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD classDef skip fill:#e6e6ee,stroke:#6f7285,stroke-width:1px,color:#2b2d38;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th></tr></thead><tbody><tr><td class="mono">TestKennzeichenUndKarte<br><span class="testname">test_layout_kennzeichen_setzen_und_erkennen</span></td><td>Prüft, dass ein markiertes Layout als Nutzer der Basemap-Legende erkannt und in der Projektliste geführt wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestKennzeichenUndKarte<br><span class="testname">test_hauptkarte_ueber_id</span></td><td>Prüft, dass die Karte mit der ID „Hauptkarte“ gefunden wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSymbolwahl<br><span class="testname">test_symbolnamen_aus_aktiven_symbol_stilen_in_renderer_reihenfolge</span></td><td>Prüft, dass die Symbol-Styles des Katalogs in Zeichenreihenfolge genommen und inaktive übergangen werden.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSymbolwahl<br><span class="testname">test_ohne_aktive_symbol_stile_erster_getroffener_style</span></td><td>Prüft, dass ohne aktiven Symbol-Style der erste tatsächlich getroffene Style das Legendensymbol liefert.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHilfslayer<br><span class="testname">test_je_gruppe_und_geometrietyp_ein_leerer_hilfslayer</span></td><td>Prüft, dass je Gruppe und Geometrietyp ein Hilfslayer außerhalb des Layerbaums entsteht, Flächen vor Linien, ohne Rückfrage beim Schließen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHilfslayer<br><span class="testname">test_alte_hilfslayer_werden_entfernt</span></td><td>Prüft, dass die Hilfslayer einer früheren Basemap-Legende des Layouts aus dem Projekt entfernt werden.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHilfslayer<br><span class="testname">test_ohne_eintraege_wird_vorhandene_basemap_legende_entfernt</span></td><td>Prüft, dass ohne gewählte Einträge eine vorhandene Basemap-Legende entfernt und die Auswahl am Layout vermerkt wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPlatzierung<br><span class="testname">test_einspaltig_ueber_der_quellenangabe</span></td><td>Prüft, dass die Basemap-Legende einspaltig unten an der Quellenangabe verankert wird, wenn der Platz reicht.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPlatzierung<br><span class="testname">test_mehrspaltig_wenn_hoehe_nicht_reicht</span></td><td>Prüft, dass die Legende zwei- oder dreispaltig wird, wenn sie einspaltig nicht zwischen Hauptlegende und Quellenangabe passt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPlatzierung<br><span class="testname">test_nie_breiter_als_der_seitenrand_mit_hinweis</span></td><td>Prüft, dass keine Spaltenzahl gewählt wird, die über den Seitenrand ragt, und dann ein Hinweis kommt.</td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_basemap_legende_rand.py testbrauchtlegendenrand test_weisse_flaeche_ohne_rand testbrauchtlegendenrand test_farbige_flaeche_oder_flaeche_mit_kontur testbrauchtlegendenrand test_heller_rand_und_fast_weiss_zaehlen_als_unsichtbar testbrauchtlegendenrand test_andere_ebenen_und_leeres_symbol testergaenzelegendenrand test_weisse_flaeche_bekommt_grauen_rand testergaenzelegendenrand test_farbige_flaeche_und_linien_bleiben_unveraendert" data-hasred="0" data-hasskip="0" data-nodoc="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-basemap-legende-rand-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_basemap_legende_rand.py</span><span class="card-meta"><span class="count-total">6 Testfälle</span><span class="cpill cpill-ok">6</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-basemap-legende-rand-py"><p class="filedesc">Tests für den Legendenrand weißer Basemap-Flächen (Basis #92).</p><div class="gchips"><span class="gchip" title="">TestBrauchtLegendenrand <b>4</b></span><span class="gchip" title="">TestErgaenzeLegendenrand <b>2</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
root([&quot;test_basemap_legende_rand.py&quot;])
class root rootnode
root --&gt; g1[&quot;TestBrauchtLegendenrand (4)&quot;]
class g1 groupnode
g1 --&gt; t1(&quot;weisse_flaeche_ohne_rand&quot;)
g1 --&gt; t2(&quot;farbige_flaeche_oder_flaeche_mit_kontur&quot;)
g1 --&gt; t3(&quot;heller_rand_und_fast_weiss_zaehlen_als_unsichtbar&quot;)
g1 --&gt; t4(&quot;andere_ebenen_und_leeres_symbol&quot;)
root --&gt; g2[&quot;TestErgaenzeLegendenrand (2)&quot;]
class g2 groupnode
g2 --&gt; t5(&quot;weisse_flaeche_bekommt_grauen_rand&quot;)
g2 --&gt; t6(&quot;farbige_flaeche_und_linien_bleiben_unveraendert&quot;)
class t1 ok
class t2 ok
class t3 ok
class t4 ok
class t5 ok
class t6 ok
classDef rootnode fill:#1f4038,stroke:#16302a,stroke-width:1px,color:#f4f1e8,font-weight:600;
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;</pre></div><table class="test-table"><thead><tr><th>Testfall</th><th>prüft</th><th>Status</th></tr></thead><tbody><tr><td class="mono">TestBrauchtLegendenrand<br><span class="testname">test_weisse_flaeche_ohne_rand</span></td><td>Prüft, dass eine weiße Fläche ohne Umrandung einen Legendenrand braucht.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBrauchtLegendenrand<br><span class="testname">test_farbige_flaeche_oder_flaeche_mit_kontur</span></td><td>Prüft, dass farbige Flächen und weiße Flächen mit dunkler Kontur oder eigener Konturlinie keinen Rand bekommen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBrauchtLegendenrand<br><span class="testname">test_heller_rand_und_fast_weiss_zaehlen_als_unsichtbar</span></td><td>Prüft, dass fast weiße Füllungen und helle oder durchsichtige Ränder als unsichtbar gelten.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBrauchtLegendenrand<br><span class="testname">test_andere_ebenen_und_leeres_symbol</span></td><td>Prüft, dass Symbole mit anderen Ebenen (Muster, Punkte) und leere Symbole keinen Rand bekommen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErgaenzeLegendenrand<br><span class="testname">test_weisse_flaeche_bekommt_grauen_rand</span></td><td>Prüft, dass eine weiße Fläche ohne Kontur eine graue Randlinie als oberste Ebene bekommt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErgaenzeLegendenrand<br><span class="testname">test_farbige_flaeche_und_linien_bleiben_unveraendert</span></td><td>Prüft, dass farbige Flächen, Flächen mit Kontur und Liniensymbole keinen Rand bekommen.</td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_basemap_stilkorrektur.py testmusterundausdruck test_strichlaenge_null_im_festen_muster testmusterundausdruck test_strichlaenge_null_im_zoomabhaengigen_ausdruck testlayerkorrektur test_punktlinien_werden_korrigiert_andere_styles_nicht testlayerkorrektur test_zweiter_lauf_korrigiert_nichts testlayerkorrektur test_nur_ausdruck_ohne_festes_muster testlayerkorrektur test_layer_ohne_renderer" data-hasred="0" data-hasskip="0" data-nodoc="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-basemap-stilkorrektur-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_basemap_stilkorrektur.py</span><span class="card-meta"><span class="count-total">6 Testfälle</span><span class="cpill cpill-ok">6</span><span class="docbadge" title="Anteil mit Docstring">100% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-basemap-stilkorrektur-py"><p class="filedesc">Tests für modules/basemap_stilkorrektur.py – Punktlinien des Basemap-Layers sichtbar machen (Basis #90).</p><div class="gchips"><span class="gchip" title="">TestMusterUndAusdruck <b>2</b></span><span class="gchip" title="">TestLayerkorrektur <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
root([&quot;test_basemap_stilkorrektur.py&quot;]) root([&quot;test_basemap_stilkorrektur.py&quot;])
class root rootnode class root rootnode
root --&gt; g1[&quot;TestMusterUndAusdruck (2)&quot;] root --&gt; g1[&quot;TestMusterUndAusdruck (2)&quot;]
+24 -6
View File
@@ -9,17 +9,17 @@ selbst (Docstrings) und aus der Testbaseline.
Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`) Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`)
Gesamt: 3 Pakete, 56 Testdateien, 656 Testfälle – 613 grün, 35 rot (Baseline), 8 übersprungen. Gesamt: 3 Pakete, 57 Testdateien, 662 Testfälle – 619 grün, 35 rot (Baseline), 8 übersprungen.
Mit Beschreibung (Docstring): 511 von 656 (78 %). Mit Beschreibung (Docstring): 517 von 662 (78 %).
## Zusammenfassung ## Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | | Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| `sn_basis` | 39 | 404 | 404 | 0 | 0 | 404 von 404 (100 %) | | `sn_basis` | 40 | 410 | 410 | 0 | 0 | 410 von 410 (100 %) |
| `sn_verfahrensgebiet` | 12 | 208 | 166 | 34 | 8 | 106 von 208 (51 %) | | `sn_verfahrensgebiet` | 12 | 208 | 166 | 34 | 8 | 106 von 208 (51 %) |
| `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | | `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) |
| **Summe** | **56** | **656** | **613** | **35** | **8** | **511 von 656 (78 %)** | | **Summe** | **57** | **662** | **619** | **35** | **8** | **517 von 662 (78 %)** |
### Legende ### Legende
@@ -31,7 +31,7 @@ Mit Beschreibung (Docstring): 511 von 656 (78 %).
## Paket `sn_basis` ## Paket `sn_basis`
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 39 Testdateien mit 404 Testfällen (404 grün, 0 rot, 0 übersprungen). Plattform-Plugin, Ordner `Plugin_SN_Basis` – 40 Testdateien mit 410 Testfällen (410 grün, 0 rot, 0 übersprungen).
### `Plugin_SN_Basis/tests/test_base_dockwidget.py` ### `Plugin_SN_Basis/tests/test_base_dockwidget.py`
@@ -176,6 +176,24 @@ Testgruppen:
| `TestPlatzierung.test_mehrspaltig_wenn_hoehe_nicht_reicht` | Prüft, dass die Legende zwei- oder dreispaltig wird, wenn sie einspaltig nicht zwischen Hauptlegende und Quellenangabe passt. | grün | | `TestPlatzierung.test_mehrspaltig_wenn_hoehe_nicht_reicht` | Prüft, dass die Legende zwei- oder dreispaltig wird, wenn sie einspaltig nicht zwischen Hauptlegende und Quellenangabe passt. | grün |
| `TestPlatzierung.test_nie_breiter_als_der_seitenrand_mit_hinweis` | Prüft, dass keine Spaltenzahl gewählt wird, die über den Seitenrand ragt, und dann ein Hinweis kommt. | grün | | `TestPlatzierung.test_nie_breiter_als_der_seitenrand_mit_hinweis` | Prüft, dass keine Spaltenzahl gewählt wird, die über den Seitenrand ragt, und dann ein Hinweis kommt. | grün |
### `Plugin_SN_Basis/tests/test_basemap_legende_rand.py`
Worum es in der Datei geht: Tests für den Legendenrand weißer Basemap-Flächen (Basis #92).
Testgruppen:
- `TestBrauchtLegendenrand` (4 Testfälle): — (Docstring fehlt)
- `TestErgaenzeLegendenrand` (2 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status |
| --- | --- | --- |
| `TestBrauchtLegendenrand.test_weisse_flaeche_ohne_rand` | Prüft, dass eine weiße Fläche ohne Umrandung einen Legendenrand braucht. | grün |
| `TestBrauchtLegendenrand.test_farbige_flaeche_oder_flaeche_mit_kontur` | Prüft, dass farbige Flächen und weiße Flächen mit dunkler Kontur oder eigener Konturlinie keinen Rand bekommen. | grün |
| `TestBrauchtLegendenrand.test_heller_rand_und_fast_weiss_zaehlen_als_unsichtbar` | Prüft, dass fast weiße Füllungen und helle oder durchsichtige Ränder als unsichtbar gelten. | grün |
| `TestBrauchtLegendenrand.test_andere_ebenen_und_leeres_symbol` | Prüft, dass Symbole mit anderen Ebenen (Muster, Punkte) und leere Symbole keinen Rand bekommen. | grün |
| `TestErgaenzeLegendenrand.test_weisse_flaeche_bekommt_grauen_rand` | Prüft, dass eine weiße Fläche ohne Kontur eine graue Randlinie als oberste Ebene bekommt. | grün |
| `TestErgaenzeLegendenrand.test_farbige_flaeche_und_linien_bleiben_unveraendert` | Prüft, dass farbige Flächen, Flächen mit Kontur und Liniensymbole keinen Rand bekommen. | grün |
### `Plugin_SN_Basis/tests/test_basemap_stilkorrektur.py` ### `Plugin_SN_Basis/tests/test_basemap_stilkorrektur.py`
Worum es in der Datei geht: Tests für modules/basemap_stilkorrektur.py – Punktlinien des Basemap-Layers sichtbar machen (Basis #90). Worum es in der Datei geht: Tests für modules/basemap_stilkorrektur.py – Punktlinien des Basemap-Layers sichtbar machen (Basis #90).
@@ -1408,7 +1426,7 @@ Arbeitsliste: Diese Testfälle haben keinen Docstring; was sie fachlich prüfen,
aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall, aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall,
dann verschwindet er hier von selbst. dann verschwindet er hier von selbst.
### `sn_basis` – 0 von 404 Testfällen ohne Beschreibung ### `sn_basis` – 0 von 410 Testfällen ohne Beschreibung
Keine Lücken. Keine Lücken.