1271 lines
200 KiB
HTML
1271 lines
200 KiB
HTML
<title>Prüfstand</title>
|
||||
|
|
<meta charset="utf-8">
|
|||
|
|
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext y='.9em' font-size='90'%3E%F0%9F%93%90%3C/text%3E%3C/svg%3E">
|
|||
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|||
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|||
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap">
|
|||
|
|
<style>
|
|||
|
|
:root{
|
|||
|
|
--bg: #f3f0e6; --bg-plan: #f6f4ea; --surface: #fffdf7; --surface-2: #ece7d8;
|
|||
|
|
--ink: #211f18; --ink-soft: #4a4739; --muted: #7a7460; --line: #dcd5c0; --line-strong: #c7bea3;
|
|||
|
|
--accent: #2f5b52; --accent-strong: #1c3b34; --accent-tint: #e2ece7;
|
|||
|
|
--ok: #3f7d4a; --ok-bg: #e5f1e2; --warn: #a8641f; --warn-bg: #f7ead6; --skip: #5d6072; --skip-bg: #e8e8ee;
|
|||
|
|
--shadow: 0 1px 2px rgba(33,31,24,.06), 0 4px 14px rgba(33,31,24,.05); --focus: #1c3b34;
|
|||
|
|
color-scheme: light dark;
|
|||
|
|
}
|
|||
|
|
@media (prefers-color-scheme: dark){
|
|||
|
|
:root:not([data-theme="light"]){
|
|||
|
|
--bg:#1a1a16; --bg-plan:#211f18; --surface:#232019; --surface-2:#2b2820; --ink:#efe9d8; --ink-soft:#cdc6b0;
|
|||
|
|
--muted:#97917c; --line:#3a3628; --line-strong:#4c4732; --accent:#7fb3a2; --accent-strong:#9cc9ba;
|
|||
|
|
--accent-tint:#263530; --ok:#7fb386; --ok-bg:#223226; --warn:#d6a05e; --warn-bg:#3a2d1c; --skip:#a8abbd;
|
|||
|
|
--skip-bg:#2a2b35; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.35); --focus:#cfe6dc;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
:root[data-theme="dark"]{
|
|||
|
|
--bg:#1a1a16; --bg-plan:#211f18; --surface:#232019; --surface-2:#2b2820; --ink:#efe9d8; --ink-soft:#cdc6b0;
|
|||
|
|
--muted:#97917c; --line:#3a3628; --line-strong:#4c4732; --accent:#7fb3a2; --accent-strong:#9cc9ba;
|
|||
|
|
--accent-tint:#263530; --ok:#7fb386; --ok-bg:#223226; --warn:#d6a05e; --warn-bg:#3a2d1c; --skip:#a8abbd;
|
|||
|
|
--skip-bg:#2a2b35; --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.35); --focus:#cfe6dc;
|
|||
|
|
}
|
|||
|
|
*{ box-sizing:border-box; }
|
|||
|
|
html,body{ margin:0; }
|
|||
|
|
body{ background:var(--bg); color:var(--ink); font-family:"Source Sans 3",system-ui,-apple-system,sans-serif;
|
|||
|
|
font-size:15px; line-height:1.5; padding-inline:20px; }
|
|||
|
|
h1,h2,h3{ font-family:"Archivo",system-ui,sans-serif; text-wrap:balance; margin:0; }
|
|||
|
|
.mono{ font-family:"IBM Plex Mono",ui-monospace,monospace; }
|
|||
|
|
a{ color:var(--accent-strong); }
|
|||
|
|
.topbar{ max-width:1180px; margin:0 auto; padding-block:28px 18px; display:flex; flex-wrap:wrap; gap:16px 28px;
|
|||
|
|
align-items:flex-end; justify-content:space-between; border-bottom:2px solid var(--line-strong); }
|
|||
|
|
.brand{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
|
|||
|
|
.brand h1{ font-size:clamp(28px,4vw,38px); font-weight:800; letter-spacing:-0.01em; color:var(--accent-strong); }
|
|||
|
|
.brand .tagline{ color:var(--muted); font-size:14.5px; max-width:46ch; }
|
|||
|
|
.meta-line{ color:var(--muted); font-size:12.5px; text-align:right; }
|
|||
|
|
.meta-line b{ color:var(--ink-soft); font-weight:600; }
|
|||
|
|
.summary{ max-width:1180px; margin:22px auto 0; display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
|
|||
|
|
.stat{ background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:14px 16px; box-shadow:var(--shadow); }
|
|||
|
|
.stat .n{ font-family:"IBM Plex Mono",monospace; font-variant-numeric:tabular-nums; font-size:26px; font-weight:600; color:var(--ink); display:block; }
|
|||
|
|
.stat .l{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
|
|||
|
|
.stat.ok .n{ color:var(--ok); } .stat.warn .n{ color:var(--warn); } .stat.skip .n{ color:var(--skip); }
|
|||
|
|
.pkg-bars{ max-width:1180px; margin:16px auto 0; background:var(--surface); border:1px solid var(--line);
|
|||
|
|
border-radius:10px; padding:14px 18px; box-shadow:var(--shadow); display:grid; gap:10px; }
|
|||
|
|
.pkg-bars-title{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:2px; }
|
|||
|
|
.pkg-bar-row{ display:grid; grid-template-columns:170px 1fr auto; gap:12px; align-items:center; }
|
|||
|
|
.pkg-bar-row .name{ font-family:"IBM Plex Mono",monospace; font-size:13px; }
|
|||
|
|
.pkg-bar-row .count{ font-family:"IBM Plex Mono",monospace; font-variant-numeric:tabular-nums; font-size:12.5px; color:var(--muted); white-space:nowrap; }
|
|||
|
|
.minibar{ height:9px; border-radius:6px; overflow:hidden; display:flex; background:var(--surface-2); border:1px solid var(--line); }
|
|||
|
|
.minibar .seg{ height:100%; display:block; }
|
|||
|
|
.controls{ max-width:1180px; margin:20px auto 0; display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center;
|
|||
|
|
position:sticky; top:env(safe-area-inset-top,0px); z-index:5; background:var(--bg); padding-block:10px; }
|
|||
|
|
.nav-links{ display:flex; gap:6px; flex-wrap:wrap; }
|
|||
|
|
.nav-links a{ font-size:13px; text-decoration:none; padding:6px 11px; border-radius:999px; border:1px solid var(--line-strong);
|
|||
|
|
color:var(--ink-soft); background:var(--surface); }
|
|||
|
|
.nav-links a:hover{ border-color:var(--accent); color:var(--accent-strong); }
|
|||
|
|
.filters{ display:flex; gap:6px; flex-wrap:wrap; margin-left:auto; }
|
|||
|
|
.chip{ font-size:12.5px; padding:6px 11px; border-radius:999px; border:1px solid var(--line-strong);
|
|||
|
|
background:var(--surface); color:var(--ink-soft); cursor:pointer; font-family:inherit; }
|
|||
|
|
.chip[aria-pressed="true"]{ background:var(--accent-strong); border-color:var(--accent-strong); color:var(--bg-plan); }
|
|||
|
|
.searchbox{ display:flex; align-items:center; gap:6px; border:1px solid var(--line-strong); border-radius:999px;
|
|||
|
|
background:var(--surface); padding:5px 12px; min-width:190px; }
|
|||
|
|
.searchbox input{ border:none; background:none; outline:none; font-family:inherit; font-size:13px; color:var(--ink); width:100%; }
|
|||
|
|
.searchbox input::placeholder{ color:var(--muted); }
|
|||
|
|
.pkg-section{ max-width:1180px; margin:34px auto 0; scroll-margin-top:64px; }
|
|||
|
|
.pkg-head{ display:flex; flex-wrap:wrap; gap:12px 24px; align-items:flex-end; justify-content:space-between; margin-bottom:16px; }
|
|||
|
|
.pkg-head h2{ font-family:"IBM Plex Mono",monospace; font-size:21px; font-weight:600; color:var(--accent-strong); }
|
|||
|
|
.pkg-sub{ color:var(--muted); font-size:13px; margin-top:3px; }
|
|||
|
|
.pkg-bar{ width:220px; height:9px; border-radius:6px; overflow:hidden; display:flex; background:var(--surface-2); border:1px solid var(--line); }
|
|||
|
|
.pkg-bar .seg{ height:100%; display:block; }
|
|||
|
|
.seg-ok{ background:var(--ok); } .seg-warn{ background:var(--warn); } .seg-skip{ background:var(--skip); }
|
|||
|
|
.card-grid{ display:grid; gap:12px; }
|
|||
|
|
.filecard{ background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); overflow:hidden; }
|
|||
|
|
.card-toggle{ width:100%; display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; justify-content:space-between;
|
|||
|
|
padding:13px 16px; background:none; border:none; cursor:pointer; text-align:left; font-family:inherit; color:var(--ink); }
|
|||
|
|
.card-toggle:hover{ background:var(--accent-tint); }
|
|||
|
|
.card-toggle:focus-visible{ outline:2px solid var(--focus); outline-offset:-2px; }
|
|||
|
|
.card-path{ font-size:13.5px; font-weight:500; color:var(--ink); }
|
|||
|
|
.card-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:12px; }
|
|||
|
|
.count-total{ color:var(--muted); font-variant-numeric:tabular-nums; }
|
|||
|
|
.cpill{ font-family:"IBM Plex Mono",monospace; font-variant-numeric:tabular-nums; font-size:11.5px; padding:2px 7px; border-radius:999px; font-weight:600; }
|
|||
|
|
.cpill-ok{ background:var(--ok-bg); color:var(--ok); } .cpill-warn{ background:var(--warn-bg); color:var(--warn); } .cpill-skip{ background:var(--skip-bg); color:var(--skip); }
|
|||
|
|
.docbadge{ color:var(--muted); border:1px solid var(--line-strong); border-radius:999px; padding:2px 8px; }
|
|||
|
|
.chev{ color:var(--muted); transition:transform .15s ease; }
|
|||
|
|
.filecard.open .chev{ transform:rotate(180deg); }
|
|||
|
|
.card-body{ max-height:0; overflow:hidden; transition:max-height .22s ease; border-top:0 solid var(--line); }
|
|||
|
|
.filecard.open .card-body{ border-top-width:1px; }
|
|||
|
|
.card-body-inner{ padding:16px; }
|
|||
|
|
.filedesc{ color:var(--ink-soft); margin:0 0 12px; max-width:70ch; }
|
|||
|
|
.empty-note{ color:var(--muted); font-size:13.5px; margin:0; }
|
|||
|
|
.gchips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
|
|||
|
|
.gchip{ font-size:12px; background:var(--accent-tint); color:var(--accent-strong); border:1px solid var(--line); border-radius:7px; padding:3px 9px; }
|
|||
|
|
.gchip b{ font-family:"IBM Plex Mono",monospace; font-weight:600; }
|
|||
|
|
.diagram-wrap{ background:var(--bg-plan); border:1px solid var(--line-strong);
|
|||
|
|
border-image: repeating-linear-gradient(45deg, var(--line-strong) 0 2px, transparent 2px 6px) 1;
|
|||
|
|
border-radius:8px; padding:14px; margin-bottom:16px; overflow-x:auto; }
|
|||
|
|
.diagram-wrap svg{ display:block; margin:0 auto; }
|
|||
|
|
.test-table{ width:100%; border-collapse:collapse; font-size:13px; }
|
|||
|
|
.test-table th{ text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted);
|
|||
|
|
border-bottom:1px solid var(--line-strong); padding:6px 8px; }
|
|||
|
|
.test-table td{ border-bottom:1px solid var(--line); padding:8px 8px; vertical-align:top; }
|
|||
|
|
.test-table tr:last-child td{ border-bottom:none; }
|
|||
|
|
.testname{ color:var(--muted); font-size:12px; }
|
|||
|
|
.nodoc{ color:var(--muted); font-style:italic; }
|
|||
|
|
.pill{ font-size:11.5px; padding:2px 8px; border-radius:999px; font-weight:600; white-space:nowrap; }
|
|||
|
|
.pill-ok{ background:var(--ok-bg); color:var(--ok); } .pill-warn{ background:var(--warn-bg); color:var(--warn); } .pill-skip{ background:var(--skip-bg); color:var(--skip); }
|
|||
|
|
footer{ max-width:1180px; margin:40px auto 30px; color:var(--muted); font-size:12px; border-top:1px solid var(--line); padding-top:14px; }
|
|||
|
|
[hidden]{ display:none !important; }
|
|||
|
|
@media (max-width:640px){ .pkg-bar{ width:130px; } .controls{ position:static; } }
|
|||
|
|
</style>
|
|||
|
|
|
|||
|
|
<div class="topbar"><div class="brand"><h1>Prüfstand</h1>
|
|||
|
|
<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="summary">
|
|||
|
|
<div class="stat"><span class="n">346</span><span class="l">Testfälle</span></div>
|
|||
|
|
<div class="stat ok"><span class="n">301</span><span class="l">grün</span></div>
|
|||
|
|
<div class="stat warn"><span class="n">37</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"><span class="n">33%</span><span class="l">mit Docstring</span></div>
|
|||
|
|
<div class="stat"><span class="n">31</span><span class="l">Testdateien</span></div>
|
|||
|
|
</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="94 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">14 Dateien · 94 Testfälle</span></div>
|
|||
|
|
<div class="pkg-bar-row"><span class="name">sn_verfahrensgebiet</span><span class="minibar" role="img" aria-label="164 grün, 36 rot, 8 übersprungen"><span class="seg seg-ok" style="width:79%"></span><span class="seg seg-warn" style="width:17%"></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>
|
|||
|
|
<div class="controls"><nav class="nav-links">
|
|||
|
|
<a href="#pkg-sn_basis">sn_basis <span class="mono">(94)</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>
|
|||
|
|
</nav><div class="filters">
|
|||
|
|
<button class="chip" data-filter="all" aria-pressed="true">Alle</button>
|
|||
|
|
<button class="chip" data-filter="hasred" aria-pressed="false">Mit rot</button>
|
|||
|
|
<button class="chip" data-filter="hasskip" aria-pressed="false">Mit übersprungen</button>
|
|||
|
|
<button class="chip" data-filter="nodoc" aria-pressed="false">Schwach beschrieben (<50%)</button>
|
|||
|
|
</div>
|
|||
|
|
<div class="searchbox"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg><input type="search" id="searchInput" placeholder="Testfall oder Datei suchen…" aria-label="Testfall oder Datei suchen"></div></div>
|
|||
|
|
|
|||
|
|
<section class="pkg-section" id="pkg-sn_basis">
|
|||
|
|
<div class="pkg-head">
|
|||
|
|
<div>
|
|||
|
|
<h2>sn_basis</h2>
|
|||
|
|
<p class="pkg-sub">Plattform-Plugin · Ordner <span class="mono">Plugin_SN_Basis</span> · 14 Testdateien · 94 Testfälle</p>
|
|||
|
|
</div>
|
|||
|
|
<div class="pkg-bar" role="img" aria-label="94 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>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="card-grid"><article class="filecard" data-search="plugin_sn_basis/tests/test_bootstrap.py " data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-bootstrap-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_bootstrap.py</span><span class="card-meta"><span class="count-total">0 Testfälle</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-bootstrap-py"><p class="filedesc">— (Docstring fehlt)</p><p class="empty-note">Keine Testfälle: Die Datei enthält keine <span class="mono">unittest.TestCase</span>-Klasse – sie ist eine reine Hilfsdatei, die beim Testlauf nur importiert wird.</p></div></article><article class="filecard" data-search="plugin_sn_basis/tests/test_datagrabber.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-datagrabber-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_datagrabber.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">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-datagrabber-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestDataGrabber <b>6</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_datagrabber.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestDataGrabber (6)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("analyze_source_type_detects_excel")
|
|||
|
|
g1 --> t2("analyze_source_type_returns_unknown_filetype")
|
|||
|
|
g1 --> t3("analyze_source_type_detects_service_when_file_check_fails")
|
|||
|
|
g1 --> t4("analyze_source_type_returns_unbekannte_quelle_on_full_failure")
|
|||
|
|
g1 --> t5("run_returns_success_summary_with_valid_rows")
|
|||
|
|
g1 --> t6("run_returns_failure_summary_without_rows")
|
|||
|
|
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">TestDataGrabber<br><span class="testname">test_analyze_source_type_detects_excel</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDataGrabber<br><span class="testname">test_analyze_source_type_returns_unknown_filetype</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDataGrabber<br><span class="testname">test_analyze_source_type_detects_service_when_file_check_fails</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDataGrabber<br><span class="testname">test_analyze_source_type_returns_unbekannte_quelle_on_full_failure</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDataGrabber<br><span class="testname">test_run_returns_success_summary_with_valid_rows</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDataGrabber<br><span class="testname">test_run_returns_failure_summary_without_rows</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_dateipruefer.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-dateipruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_dateipruefer.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">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-dateipruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestDateipruefer <b>6</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_dateipruefer.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestDateipruefer (6)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("leereingabe_erlaubt")
|
|||
|
|
g1 --> t2("leereingabe_nicht_erlaubt")
|
|||
|
|
g1 --> t3("standarddatei_vorschlagen")
|
|||
|
|
g1 --> t4("temporaer_erlaubt")
|
|||
|
|
g1 --> t5("datei_nicht_gefunden")
|
|||
|
|
g1 --> t6("datei_ok")
|
|||
|
|
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">TestDateipruefer<br><span class="testname">test_leereingabe_erlaubt</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDateipruefer<br><span class="testname">test_leereingabe_nicht_erlaubt</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDateipruefer<br><span class="testname">test_standarddatei_vorschlagen</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDateipruefer<br><span class="testname">test_temporaer_erlaubt</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDateipruefer<br><span class="testname">test_datei_nicht_gefunden</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDateipruefer<br><span class="testname">test_datei_ok</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_laenderkennung.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-laenderkennung-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_laenderkennung.py</span><span class="card-meta"><span class="count-total">5 Testfälle</span><span class="cpill cpill-ok">5</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-laenderkennung-py"><p class="filedesc">Unit-Tests für `sn_basis.functions.laenderkennung`.</p><div class="gchips"><span class="gchip" title="">TestGetLaenderkennung <b>5</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_laenderkennung.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestGetLaenderkennung (5)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("bekannter_praefix_gibt_kennung_zurueck")
|
|||
|
|
g1 --> t2("praefix_gross_klein_unabhaengig")
|
|||
|
|
g1 --> t3("unbekannter_praefix_wirft_keyerror")
|
|||
|
|
g1 --> t4("ohne_argument_wird_aus_aufrufendem_modul_abgeleitet")
|
|||
|
|
g1 --> t5("mapping_enthaelt_sachsen")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 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">TestGetLaenderkennung<br><span class="testname">test_bekannter_praefix_gibt_kennung_zurueck</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_praefix_gross_klein_unabhaengig</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_unbekannter_praefix_wirft_keyerror</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_ohne_argument_wird_aus_aufrufendem_modul_abgeleitet</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGetLaenderkennung<br><span class="testname">test_mapping_enthaelt_sachsen</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_layerpruefer.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-layerpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_layerpruefer.py</span><span class="card-meta"><span class="count-total">10 Testfälle</span><span class="cpill cpill-ok">10</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-layerpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestLayerpruefer <b>10</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_layerpruefer.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestLayerpruefer (10)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("layer_exists")
|
|||
|
|
g1 --> t2("layer_unsichtbar")
|
|||
|
|
g1 --> t3("falscher_layertyp")
|
|||
|
|
g1 --> t4("falscher_geotyp")
|
|||
|
|
g1 --> t5("layer_leer")
|
|||
|
|
g1 --> t6("falsches_crs")
|
|||
|
|
g1 --> t7("felder_fehlen")
|
|||
|
|
g1 --> t8("datenquelle_unerwartet")
|
|||
|
|
g1 --> t9("layer_nicht_editierbar")
|
|||
|
|
g1 --> t10("layer_ok")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 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">TestLayerpruefer<br><span class="testname">test_layer_exists</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_unsichtbar</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falscher_layertyp</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falscher_geotyp</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_leer</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_falsches_crs</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_felder_fehlen</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_datenquelle_unerwartet</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_nicht_editierbar</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLayerpruefer<br><span class="testname">test_layer_ok</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_linkpruefer.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-linkpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_linkpruefer.py</span><span class="card-meta"><span class="count-total">5 Testfälle</span><span class="cpill cpill-ok">5</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-linkpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestLinkpruefer <b>5</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_linkpruefer.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestLinkpruefer (5)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("remote_link_ok")
|
|||
|
|
g1 --> t2("remote_link_error")
|
|||
|
|
g1 --> t3("remote_link_network_error")
|
|||
|
|
g1 --> t4("local_link_not_found")
|
|||
|
|
g1 --> t5("local_link_ok")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 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">TestLinkpruefer<br><span class="testname">test_remote_link_ok</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLinkpruefer<br><span class="testname">test_remote_link_error</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLinkpruefer<br><span class="testname">test_remote_link_network_error</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLinkpruefer<br><span class="testname">test_local_link_not_found</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLinkpruefer<br><span class="testname">test_local_link_ok</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_print_layout.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-print-layout-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_print_layout.py</span><span class="card-meta"><span class="count-total">5 Testfälle</span><span class="cpill cpill-ok">5</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-print-layout-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestPrintLayout <b>5</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_print_layout.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestPrintLayout (5)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("create_legend_item_links_map_and_enables_map_filtering")
|
|||
|
|
g1 --> t2("create_legend_item_does_not_copy_project_layers_into_legend_model")
|
|||
|
|
g1 --> t3("configure_legend_size_uses_content_adaptive_size")
|
|||
|
|
g1 --> t4("configure_hauptkarte_grids_uses_wrapper_constants")
|
|||
|
|
g1 --> t5("create_single_page_layout_keeps_legend_linked_to_hauptkarte_and_theme")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 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">TestPrintLayout<br><span class="testname">test_create_legend_item_links_map_and_enables_map_filtering</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLayout<br><span class="testname">test_create_legend_item_does_not_copy_project_layers_into_legend_model</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLayout<br><span class="testname">test_configure_legend_size_uses_content_adaptive_size</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLayout<br><span class="testname">test_configure_hauptkarte_grids_uses_wrapper_constants</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLayout<br><span class="testname">test_create_single_page_layout_keeps_legend_linked_to_hauptkarte_and_theme</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_print_logic.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-print-logic-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_print_logic.py</span><span class="card-meta"><span class="count-total">17 Testfälle</span><span class="cpill cpill-ok">17</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-print-logic-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestPrintLogic <b>17</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_print_logic.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestPrintLogic (17)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("get_baufreigabe_page_dimensions_prefers_a4_for_small_extent")
|
|||
|
|
g1 --> t2("get_baufreigabe_page_dimensions_escalates_to_a3")
|
|||
|
|
g1 --> t3("get_baufreigabe_page_dimensions_respects_a4_as_maximum_with_fallback")
|
|||
|
|
g1 --> t4("get_baufreigabe_page_dimensions_falls_back_to_a3_for_oversize_extent")
|
|||
|
|
g1 --> t5("select_standard_page_layout_uses_a4_as_minimum_sheet")
|
|||
|
|
g1 --> t6("select_standard_page_layout_limits_hauptkarte_to_a3")
|
|||
|
|
g1 --> t7("select_standard_page_layout_returns_none_if_a3_is_too_small")
|
|||
|
|
g1 --> t8("get_standard_layout_dimensions_uses_a4_and_forces_fit_for_small_extent")
|
|||
|
|
g1 --> t9("get_standard_layout_dimensions_caps_endlosrolle_width_at_2000_mm")
|
|||
|
|
g1 --> t10("apply_standard_minimum_a4_fallback_for_small_page")
|
|||
|
|
g1 --> t11("apply_standard_minimum_a4_fallback_keeps_large_page")
|
|||
|
|
g1 --> t12("does_plot_fit_page_true_for_standard_a4")
|
|||
|
|
g1 --> t13("does_plot_fit_page_false_if_objects_exceed_page")
|
|||
|
|
g1 --> t14("set_druckbereich_accepts_wie_kartenfenster")
|
|||
|
|
g1 --> t15("get_canvas_extent_returns_valid_extent")
|
|||
|
|
g1 --> t16("resolve_extent_uses_canvas_extent_without_buffer")
|
|||
|
|
g1 --> t17("resolve_extent_uses_rectangle_extent_without_buffer")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 ok
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 ok
|
|||
|
|
class t16 ok
|
|||
|
|
class t17 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">TestPrintLogic<br><span class="testname">test_get_baufreigabe_page_dimensions_prefers_a4_for_small_extent</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_get_baufreigabe_page_dimensions_escalates_to_a3</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_get_baufreigabe_page_dimensions_respects_a4_as_maximum_with_fallback</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_get_baufreigabe_page_dimensions_falls_back_to_a3_for_oversize_extent</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_select_standard_page_layout_uses_a4_as_minimum_sheet</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_select_standard_page_layout_limits_hauptkarte_to_a3</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_select_standard_page_layout_returns_none_if_a3_is_too_small</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_get_standard_layout_dimensions_uses_a4_and_forces_fit_for_small_extent</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_get_standard_layout_dimensions_caps_endlosrolle_width_at_2000_mm</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_apply_standard_minimum_a4_fallback_for_small_page</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_apply_standard_minimum_a4_fallback_keeps_large_page</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_does_plot_fit_page_true_for_standard_a4</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_does_plot_fit_page_false_if_objects_exceed_page</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_set_druckbereich_accepts_wie_kartenfenster</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_get_canvas_extent_returns_valid_extent</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPrintLogic<br><span class="testname">test_resolve_extent_uses_canvas_extent_without_buffer</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPri
|
|||
|
|
root(["test_pruefmanager.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestPruefmanager (14)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("ok")
|
|||
|
|
g1 --> t2("leereingabe_erlaubt_ja")
|
|||
|
|
g1 --> t3("leereingabe_erlaubt_nein")
|
|||
|
|
g1 --> t4("standarddatei_vorschlagen_ja")
|
|||
|
|
g1 --> t5("standarddatei_vorschlagen_nein")
|
|||
|
|
g1 --> t6("temporaer_erlaubt_ja")
|
|||
|
|
g1 --> t7("temporaer_erlaubt_nein")
|
|||
|
|
g1 --> t8("layer_unsichtbar_ja")
|
|||
|
|
g1 --> t9("layer_unsichtbar_nein")
|
|||
|
|
g1 --> t10("unbekannte_aktion")
|
|||
|
|
g1 --> t11("datei_existiert_overwrite")
|
|||
|
|
g1 --> t12("datei_existiert_append")
|
|||
|
|
g1 --> t13("datei_existiert_cancel")
|
|||
|
|
g1 --> t14("datei_existiert_in_non_qgis_mode_returns_input")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 ok
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 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">TestPruefmanager<br><span class="testname">test_ok</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_leereingabe_erlaubt_ja</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_leereingabe_erlaubt_nein</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_standarddatei_vorschlagen_ja</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_standarddatei_vorschlagen_nein</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_temporaer_erlaubt_ja</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_temporaer_erlaubt_nein</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_layer_unsichtbar_ja</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_layer_unsichtbar_nein</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_unbekannte_aktion</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_datei_existiert_overwrite</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_datei_existiert_append</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_datei_existiert_cancel</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefmanager<br><span class="testname">test_datei_existiert_in_non_qgis_mode_returns_input</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_settings_logic.py testsettingslogic test_load testsettingslogic test_save testsettingslogic test_load_handles_partial_values_with_empty_fallback testsettingslogic test_save_empty_string_value_is_persisted" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-settings-logic-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_settings_logic.py</span><span class="card-meta"><span class="count-total">4 Testfälle</span><span class="cpill cpill-ok">4</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-settings-logic-py"><p class="filedesc">— (Docstring fehlt)</p><di
|
|||
|
|
root(["test_settings_logic.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestSettingsLogic (4)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("load")
|
|||
|
|
g1 --> t2("save")
|
|||
|
|
g1 --> t3("load_handles_partial_values_with_empty_fallback")
|
|||
|
|
g1 --> t4("save_empty_string_value_is_persisted")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 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">TestSettingsLogic<br><span class="testname">test_load</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_save</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_load_handles_partial_values_with_empty_fallback</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSettingsLogic<br><span class="testname">test_save_empty_string_value_is_persisted</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_stilpruefer.py teststilpruefer test_keine_datei_angegeben teststilpruefer test_datei_existiert_mit_qml teststilpruefer test_datei_existiert_falsche_endung teststilpruefer test_datei_existiert_nicht" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-stilpruefer-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_stilpruefer.py</span><span class="card-meta"><span class="count-total">4 Testfälle</span><span class="cpill cpill-ok">4</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-stilpruefer-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestStilpruefer <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_stilpruefer.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestStilpruefer (4)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("keine_datei_angegeben")
|
|||
|
|
g1 --> t2("datei_existiert_mit_qml")
|
|||
|
|
g1 --> t3("datei_existiert_falsche_endung")
|
|||
|
|
g1 --> t4("datei_existiert_nicht")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 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">TestStilpruefer<br><span class="testname">test_keine_datei_angegeben</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestStilpruefer<br><span class="testname">test_datei_existiert_mit_qml</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestStilpruefer<br><span class="testname">test_datei_existiert_falsche_endung</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestStilpruefer<br><span class="testname">test_datei_existiert_nicht</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_text_wrapper.py testsanitizebezeichner test_umlaute_bleiben_erhalten testsanitizebezeichner test_bindestrich_bleibt_erhalten testsanitizebezeichner test_unterstrich_bleibt_erhalten testsanitizebezeichner test_leerzeichen_wird_durch_ersatz_zusammengefasst testsanitizebezeichner test_fuehrender_und_folgender_ersatz_wird_entfernt testsanitizebezeichner test_eigenes_ersatzzeichen_wird_verwendet testsanitizebezeichner test_nur_unzulaessige_zeichen_ergibt_leeren_string" data-hasred="0" data-hasskip="0" data-nodoc="0"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-text-wrapper-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_text_wrapper.py</span><span class="card-meta"><span class="count-total">7 Testfälle</span><span class="cpill cpill-ok">7</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-text-wrapper-py"><p class="filedesc">Unit-Tests für `sn_basis.functions.text_wrapper`.</p><div class="gchips"><span class="gchip" title="">TestSanitizeBezeichner <b>7</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_text_wrapper.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestSanitizeBezeichner (7)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("umlaute_bleiben_erhalten")
|
|||
|
|
g1 --> t2("bindestrich_bleibt_erhalten")
|
|||
|
|
g1 --> t3("unterstrich_bleibt_erhalten")
|
|||
|
|
g1 --> t4("leerzeichen_wird_durch_ersatz_zusammengefasst")
|
|||
|
|
g1 --> t5("fuehrender_und_folgender_ersatz_wird_entfernt")
|
|||
|
|
g1 --> t6("eigenes_ersatzzeichen_wird_verwendet")
|
|||
|
|
g1 --> t7("nur_unzulaessige_zeichen_ergibt_leeren_string")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 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">TestSanitizeBezeichner<br><span class="testname">test_umlaute_bleiben_erhalten</span></td><td>Prüft, dass Umlaute und ß nicht durch den Ersatz entfernt werden.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSanitizeBezeichner<br><span class="testname">test_bindestrich_bleibt_erhalten</span></td><td>Prüft, dass ein Bindestrich im Bezeichner erhalten bleibt (Issue #42).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSanitizeBezeichner<br><span class="testname">test_unterstrich_bleibt_erhalten</span></td><td>Prüft, dass ein Unterstrich im Bezeichner erhalten bleibt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSanitizeBezeichner<br><span class="testname">test_leerzeichen_wird_durch_ersatz_zusammengefasst</span></td><td>Prüft, dass Leerzeichen (kein zulässiges Zeichen) zu einem Ersatzzeichen werden.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSanitizeBezeichner<br><span class="testname">test_fuehrender_und_folgender_ersatz_wird_entfernt</span></td><td>Prüft, dass ein Ersatzzeichen am Anfang oder Ende des Ergebnisses entfernt wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSanitizeBezeichner<br><span class="testname">test_eigenes_ersatzzeichen_wird_verwendet</span></td><td>Prüft, dass ein abweichendes Ersatzzeichen anstelle von Unterstrich genutzt wird.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSanitizeBezeichner<br><span class="testname">test_nur_unzulaessige_zeichen_ergibt_leeren_string</span></td><td>Prüft, dass ein Bezeichner ganz aus unzulässigen Zeichen zu einem leeren String wird.</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_variable_wrapper.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-variable-wrapper-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_variable_wrapper.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">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-variable-wrapper-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestVariableWrapper <b>6</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_variable_wrapper.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestVariableWrapper (6)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("set_variable_project_noop_write_is_skipped")
|
|||
|
|
g1 --> t2("set_variable_project_changed_value_is_written")
|
|||
|
|
g1 --> t3("set_variable_global_writes_prefixed_name")
|
|||
|
|
g1 --> t4("get_variable_global_returns_empty_string_fallback")
|
|||
|
|
g1 --> t5("get_variable_invalid_scope_raises")
|
|||
|
|
g1 --> t6("set_variable_invalid_scope_raises")
|
|||
|
|
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">TestVariableWrapper<br><span class="testname">test_set_variable_project_noop_write_is_skipped</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVariableWrapper<br><span class="testname">test_set_variable_project_changed_value_is_written</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVariableWrapper<br><span class="testname">test_set_variable_global_writes_prefixed_name</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVariableWrapper<br><span class="testname">test_get_variable_global_returns_empty_string_fallback</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVariableWrapper<br><span class="testname">test_get_variable_invalid_scope_raises</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVariableWrapper<br><span class="testname">test_set_variable_invalid_scope_raises</span></td><td><span class="nodoc">— (Docstring fehlt)</span></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_verfahrensgebiet_manager.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-basis-tests-test-verfahrensgebiet-manager-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Basis/tests/test_verfahrensgebiet_manager.py</span><span class="card-meta"><span class="count-total">5 Testfälle</span><span class="cpill cpill-ok">5</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-basis-tests-test-verfahrensgebiet-manager-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestVerfahrensgebietManager <b>5</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_verfahrensgebiet_manager.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestVerfahrensgebietManager (5)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("get_verfahrensgebiet_layer_id_returns_value")
|
|||
|
|
g1 --> t2("get_verfahrensgebiet_layer_id_returns_none_for_empty_value")
|
|||
|
|
g1 --> t3("set_verfahrensgebiet_layer_id_writes_project_variable")
|
|||
|
|
g1 --> t4("update_without_layer_does_not_write_when_already_empty")
|
|||
|
|
g1 --> t5("update_with_layer_writes_variable")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 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">TestVerfahrensgebietManager<br><span class="testname">test_get_verfahrensgebiet_layer_id_returns_value</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietManager<br><span class="testname">test_get_verfahrensgebiet_layer_id_returns_none_for_empty_value</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietManager<br><span class="testname">test_set_verfahrensgebiet_layer_id_writes_project_variable</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietManager<br><span class="testname">test_update_without_layer_does_not_write_when_already_empty</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietManager<br><span class="testname">test_update_with_layer_writes_variable</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article></div>
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<section class="pkg-section" id="pkg-sn_verfahrensgebiet">
|
|||
|
|
<div class="pkg-head">
|
|||
|
|
<div>
|
|||
|
|
<h2>sn_verfahrensgebiet</h2>
|
|||
|
|
<p class="pkg-sub">Fachplugin · Ordner <span class="mono">Plugin_SN_Verfahrensgebiet</span> · 12 Testdateien · 208 Testfälle</p>
|
|||
|
|
</div>
|
|||
|
|
<div class="pkg-bar" role="img" aria-label="164 grün, 36 rot, 8 übersprungen">
|
|||
|
|
<span class="seg seg-ok" style="width:79%"></span><span class="seg seg-warn" style="width:17%"></span><span class="seg seg-skip" style="width:4%"></span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="card-grid"><article class="filecard" data-search="plugin_sn_verfahrensgebiet/tests/test_beteiligung_pruefung.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-verfahrensgebiet-tests-test-beteiligung-pruefung-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Verfahrensgebiet/tests/test_beteiligung_pruefung.py</span><span class="card-meta"><span class="count-total">25 Testfälle</span><span class="cpill cpill-ok">25</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-verfahrensgebiet-tests-test-beteiligung-pruefung-py"><p class="filedesc">Unit-Tests für `sn_verfahrensgebiet.functions.beteiligung_pruefung`.</p><div class="gchips"><span class="gchip" title="">TestBaueFlurstueckCsv <b>12</b></span><span class="gchip" title="">TestBaueFlurstueckCsvListe <b>1</b></span><span class="gchip" title="">TestHoleVerfahrensgebietLayer <b>3</b></span><span class="gchip" title="try2/try3 laden nicht mehr automatisch, sondern fordern den Nutzer auf,">TestFordereManuellesLadenAn <b>2</b></span><span class="gchip" title="">TestTry3Bootstrap <b>1</b></span><span class="gchip" title="Dispatch-Logik in beteiligung_pruefen(): try1 unverändert, try2/try3">TestBeteiligungPruefenDispatch <b>2</b></span><span class="gchip" title="">TestLadeBeteiligungCsv <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_beteiligung_pruefung.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestBaueFlurstueckCsv (12)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("normalfall_mit_fuehrenden_nullen")
|
|||
|
|
g1 --> t2("nenner_null_wird_zu_unterstrichen")
|
|||
|
|
g1 --> t3("nenner_leer_wird_zu_unterstrichen")
|
|||
|
|
g1 --> t4("gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt")
|
|||
|
|
g1 --> t5("ungueltiges_format_gibt_none")
|
|||
|
|
g1 --> t6("leerer_wert_gibt_none")
|
|||
|
|
g1 --> t7("nenner_9001_wird_zu_buchstabe_a")
|
|||
|
|
g1 --> t8("nenner_9002_wird_zu_buchstabe_b")
|
|||
|
|
g1 --> t9("nenner_9026_wird_zu_buchstabe_z")
|
|||
|
|
g1 --> t10("nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch")
|
|||
|
|
g1 --> t11("nenner_9001_mit_fuehrenden_nullen_wird_erkannt")
|
|||
|
|
g1 --> t12("einstellige_folge_wird_auf_2_stellen_aufgefuellt")
|
|||
|
|
root --> g2["TestBaueFlurstueckCsvListe (1)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t13("nur_gueltige_zeilen_in_liste")
|
|||
|
|
root --> g3["TestHoleVerfahrensgebietLayer (3)"]
|
|||
|
|
class g3 groupnode
|
|||
|
|
g3 --> t14("layer_per_name_hat_vorrang_vor_combo_auswahl")
|
|||
|
|
g3 --> t15("combo_auswahl_als_fallback_ohne_namens_layer")
|
|||
|
|
g3 --> t16("kein_layer_gibt_none")
|
|||
|
|
root --> g4["TestFordereManuellesLadenAn (2)"]
|
|||
|
|
class g4 groupnode
|
|||
|
|
g4 --> t17("ohne_vef_vkzf_nennt_fehlende_kennzeichen")
|
|||
|
|
g4 --> t18("mit_vef_vkzf_nennt_verfahrensnummer")
|
|||
|
|
root --> g5["TestTry3Bootstrap (1)"]
|
|||
|
|
class g5 groupnode
|
|||
|
|
g5 --> t19("setzt_verfahrensnummer_und_fordert_manuelles_laden_an")
|
|||
|
|
root --> g6["TestBeteiligungPruefenDispatch (2)"]
|
|||
|
|
class g6 groupnode
|
|||
|
|
g6 --> t20("layer_ohne_kennzeichen_fordert_manuelles_laden_an")
|
|||
|
|
g6 --> t21("kein_layer_setzt_verfahrensnummer_und_fordert_laden_an")
|
|||
|
|
root --> g7["TestLadeBeteiligungCsv (4)"]
|
|||
|
|
class g7 groupnode
|
|||
|
|
g7 --> t22("dialog_abgebrochen_gibt_none")
|
|||
|
|
g7 --> t23("fehlende_flurstueck_spalte_wirft_fehler")
|
|||
|
|
g7 --> t24("leere_datei_wirft_fehler")
|
|||
|
|
g7 --> t25("erfolgsfall_gibt_zeilen_und_spalten_zurueck")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 ok
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 ok
|
|||
|
|
class t16 ok
|
|||
|
|
class t17 ok
|
|||
|
|
class t18 ok
|
|||
|
|
class t19 ok
|
|||
|
|
class t20 ok
|
|||
|
|
class t21 ok
|
|||
|
|
class t22 ok
|
|||
|
|
class t23 ok
|
|||
|
|
class t24 ok
|
|||
|
|
class t25 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">TestBaueFlurstueckCsv<br><span class="testname">test_normalfall_mit_fuehrenden_nullen</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_nenner_null_wird_zu_unterstrichen</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_nenner_leer_wird_zu_unterstrichen</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_gemarkung_ohne_fuehrende_nullen_wird_aufgefuellt</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_ungueltiges_format_gibt_none</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_leerer_wert_gibt_none</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_nenner_9001_wird_zu_buchstabe_a</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_nenner_9002_wird_zu_buchstabe_b</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_nenner_9026_wird_zu_buchstabe_z</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_nenner_ausserhalb_buchstaben_bereich_bleibt_numerisch</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_nenner_9001_mit_fuehrenden_nullen_wird_erkannt</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsv<br><span class="testname">test_einstellige_folge_wird_auf_2_stellen_aufgefuellt</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestBaueFlurstueckCsvListe<br><span class="testname">test_nur_gueltige_zeilen_in_liste</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHoleVerfahrensgebietLayer<br><span class="testname">test_layer_per_name_hat_vorrang_vor_combo_auswahl</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHoleVerfahrensgebietLayer<br><span class="testname">test_combo_auswahl_als_fallback_ohne_namens_layer</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestHoleVerfahrensgebietLayer<br><span class="testname">test_kein_layer_gibt_none</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFordereManuellesLadenAn<br><span class="testname">test_ohne_vef_vkzf_nennt_fehlende_kennzeichen</span></td><td><span class="nodoc">— (Docstri
|
|||
|
|
root(["test_dockwidget.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestDockWidget (2)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("init_tabs_with_services_injects_available_services")
|
|||
|
|
g1 --> t2("init_tabs_with_services_reports_errors")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 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">TestDockWidget<br><span class="testname">test_init_tabs_with_services_injects_available_services</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestDockWidget<br><span class="testname">test_init_tabs_with_services_reports_errors</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_verfahrensgebiet/tests/test_flurstueck_alkis.py testflurstueckalkis test_user_cancel_returns_none testflurstueckalkis test_empty_text_after_confirmation_returns_none testflurstueckalkis test_invalid_wfs_layer_returns_none testflurstueckalkis test_success_returns_layer_and_first_status testflurstueckalkis test_sql_filter_contains_all_schluessel testflurstueckalkis test_existing_layer_reload_yes testflurstueckalkis test_existing_layer_keep_no testflurstueckalkis test_vorgabe_schluessel_prefills_default_text testflurstueckalkis test_vorgabe_namen_appears_in_label testflurstueckalkis test_bbox_embedded_in_wfs_uri testflurstueckalkis test_backwards_compatible_no_new_params testflurstueckalkis test_ohne_schluessel_abfrage_ueberspringt_ask_text testflurstueckalkisanhaengendedup test_append_ueberspringt_bereits_vorhandene_flurstuecke testflurstueckalkisanhaengendedup test_append_ohne_kennzeichen_feld_haengt_alles_an testflurstueckalkisanhaengendedup test_ohne_schluessel_abfrage_append_dedup" data-hasred="1" data-hasskip="0" data-nodoc="0"><button class="card-toggle" data-target="plugin-sn-verfahrensgebiet-tests-test-flurstueck-alkis-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Verfahrensgebiet/tests/test_flurstueck_alkis.py</span><span class="card-meta"><span class="count-total">15 Testfälle</span><span class="cpill cpill-ok">7</span><span class="cpill cpill-warn">8</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-verfahrensgebiet-tests-test-flurstueck-alkis-py"><p class="filedesc">Unit-Tests für das flurstueck_alkis-Modul.</p><div class="gchips"><span class="gchip" title="">TestFlurstueckAlkis <b>12</b></span><span class="gchip" title="Anhängen an einen bestehenden Flurstück-Layer (Issue #28).">TestFlurstueckAlkisAnhaengenDedup <b>3</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_flurstueck_alkis.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestFlurstueckAlkis (12)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("user_cancel_returns_none")
|
|||
|
|
g1 --> t2("empty_text_after_confirmation_returns_none")
|
|||
|
|
g1 --> t3("invalid_wfs_layer_returns_none")
|
|||
|
|
g1 --> t4("success_returns_layer_and_first_status")
|
|||
|
|
g1 --> t5("sql_filter_contains_all_schluessel")
|
|||
|
|
g1 --> t6("existing_layer_reload_yes")
|
|||
|
|
g1 --> t7("existing_layer_keep_no")
|
|||
|
|
g1 --> t8("vorgabe_schluessel_prefills_default_text")
|
|||
|
|
g1 --> t9("vorgabe_namen_appears_in_label")
|
|||
|
|
g1 --> t10("bbox_embedded_in_wfs_uri")
|
|||
|
|
g1 --> t11("backwards_compatible_no_new_params")
|
|||
|
|
g1 --> t12("ohne_schluessel_abfrage_ueberspringt_ask_text")
|
|||
|
|
root --> g2["TestFlurstueckAlkisAnhaengenDedup (3)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t13("append_ueberspringt_bereits_vorhandene_flurstuecke")
|
|||
|
|
g2 --> t14("append_ohne_kennzeichen_feld_haengt_alles_an")
|
|||
|
|
g2 --> t15("ohne_schluessel_abfrage_append_dedup")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 warn
|
|||
|
|
class t5 warn
|
|||
|
|
class t6 warn
|
|||
|
|
class t7 warn
|
|||
|
|
class t8 warn
|
|||
|
|
class t9 warn
|
|||
|
|
class t10 warn
|
|||
|
|
class t11 warn
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 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">TestFlurstueckAlkis<br><span class="testname">test_user_cancel_returns_none</span></td><td>ask_text → ok=False, text="" → (None, NONE).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_empty_text_after_confirmation_returns_none</span></td><td>ask_text → ok=True, aber Text leer → (None, NONE).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_invalid_wfs_layer_returns_none</span></td><td>WFS-Layer nicht valide → (None, NONE).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_success_returns_layer_and_first_status</span></td><td>Kein bestehender Layer, WFS valide → (layer, FIRST).</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_sql_filter_contains_all_schluessel</span></td><td>Der WFS-URI enthält alle eingegebenen Gemarkungsschlüssel.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_existing_layer_reload_yes</span></td><td>Bestehender Layer + Nutzer: 'Ja, neu laden' → LoadStatus.RELOAD.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_existing_layer_keep_no</span></td><td>Bestehender Layer + Nutzer: 'Nein, behalten' → LoadStatus.KEEP.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_vorgabe_schluessel_prefills_default_text</span></td><td>vorgabe_schluessel=['1234','5678'] → ask_text erhält '1234, 5678' als default_text.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_vorgabe_namen_appears_in_label</span></td><td>vorgabe_namen=['Musterstadt'] → ask_text-label enthält den Namen.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_bbox_embedded_in_wfs_uri</span></td><td>bbox-Parameter → WFS-URI enthält 'bbox=' Substring.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_backwards_compatible_no_new_params</span></td><td>flurstueck_alkis(tab) ohne neue Parameter → kein Fehler.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestFlurstueckAlkis<br><span class="testname">test_ohne_schluessel_abfrage_ueberspringt_ask_text</span></td><td>ohne_schluessel_abfrage=True verwendet vorgabe_schluessel direkt, ohne ask_text aufzurufen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlurstueckAlkisAnhaengenDedup<br><span class="testname">test_append_ueberspringt_bereits_vorhandene_flurstuecke</span></td><td>Prüft, dass beim Anhängen bereits vorhandene flurstueckskennzeichen nicht erneut hinzugefügt werden.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlurstueckAlkisAnhaengenDedup<br><span class="testname">test_append_ohne_kennzeichen_feld_haengt_alles_an</span></td><td>Prüft, dass ohne flurstueckskennzeichen-Feld weiterhin alle Features angehängt werden (Rückfallverhalten).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlurstueckAlkisAnhaengenDedup<br><span class="testname">test_ohne_schluessel_abfrage_append_dedup</span></td><td>ohne_schluessel_abfrage=True: Anhängen dedupliziert trotzdem, ohne nach Schlüsseln zu fragen (#47).</td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table><
|
|||
|
|
root(["test_gemarkung_alkis.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestExtractSchluesselUndName (4)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("standard_attribute")
|
|||
|
|
g1 --> t2("fallback_attribute")
|
|||
|
|
g1 --> t3("missing_attribute_returns_empty")
|
|||
|
|
g1 --> t4("none_value_returns_empty")
|
|||
|
|
root --> g2["TestGemarkungSchluesselbbox (6)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t5("success_bbox_filter")
|
|||
|
|
g2 --> t6("fallback_when_bbox_fails")
|
|||
|
|
g2 --> t7("both_layers_fail_returns_empty")
|
|||
|
|
g2 --> t8("deduplication_and_sorting")
|
|||
|
|
g2 --> t9("feature_without_schluessel_skipped")
|
|||
|
|
g2 --> t10("exception_returns_empty")
|
|||
|
|
root --> g3["TestGemarkungSchluesselnurNummern (2)"]
|
|||
|
|
class g3 groupnode
|
|||
|
|
g3 --> t11("returns_only_nummern")
|
|||
|
|
g3 --> t12("empty_input_returns_empty")
|
|||
|
|
root --> g4["TestLadeGemarkungenlayer (2)"]
|
|||
|
|
class g4 groupnode
|
|||
|
|
g4 --> t13("returns_layer_when_service_reachable")
|
|||
|
|
g4 --> t14("returns_none_when_service_unreachable")
|
|||
|
|
class t1 warn
|
|||
|
|
class t2 warn
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 skip
|
|||
|
|
class t6 skip
|
|||
|
|
class t7 skip
|
|||
|
|
class t8 skip
|
|||
|
|
class t9 skip
|
|||
|
|
class t10 skip
|
|||
|
|
class t11 skip
|
|||
|
|
class t12 skip
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 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">TestExtractSchluesselUndName<br><span class="testname">test_standard_attribute</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestExtractSchluesselUndName<br><span class="testname">test_fallback_attribute</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestExtractSchluesselUndName<br><span class="testname">test_missing_attribute_returns_empty</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtractSchluesselUndName<br><span class="testname">test_none_value_returns_empty</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGemarkungSchluesselbbox<br><span class="testname">test_success_bbox_filter</span></td><td>WFS-BBox-Filter liefert Features → korrekte Tupel-Liste.</td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestGemarkungSchluesselbbox<br><span class="testname">test_fallback_when_bbox_fails</span></td><td>BBox-Filter schlägt fehl → Fallback auf Volllade + client-seitige Filterung.</td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestGemarkungSchluesselbbox<br><span class="testname">test_both_layers_fail_returns_empty</span></td><td>Beide Lade-Strategien scheitern → leere Liste.</td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestGemarkungSchluesselbbox<br><span class="testname">test_deduplication_and_sorting</span></td><td>Doppelte Schlüssel werden dedupliziert, Ergebnis ist sortiert.</td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestGemarkungSchluesselbbox<br><span class="testname">test_feature_without_schluessel_skipped</span></td><td>Feature ohne Schlüssel-Attribut wird übersprungen.</td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestGemarkungSchluesselbbox<br><span class="testname">test_exception_returns_empty</span></td><td>Exception im Ladevorgang → leere Liste (kein Crash).</td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestGemarkungSchluesselnurNummern<br><span class="testname">test_returns_only_nummern</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestGemarkungSchluesselnurNummern<br><span class="testname">test_empty_input_returns_empty</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-skip" title="Legacy API (by_bbox) not available in current module">übersp.</span></td></tr><tr><td class="mono">TestLadeGemarkungenlayer<br><span class="testname">test_returns_layer_when_service_reachable</span></td><td>Dienst erreichbar (isValid=True) → Layer-Objekt zurückgegeben.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLadeGemarkungenlayer<br><span class="testname">test_returns_none_when_service_unreachable</span></td><td>Dienst nicht erreichbar (isValid=False) → None zurückgegeben.</td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plug
|
|||
|
|
root(["test_grenzpunkt_alkis.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestExtrahiereGmlIds (5)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("xlink_href_format")
|
|||
|
|
g1 --> t2("plain_gml_id")
|
|||
|
|
g1 --> t3("empty_value_skipped")
|
|||
|
|
g1 --> t4("deduplication")
|
|||
|
|
g1 --> t5("sorted_output")
|
|||
|
|
root --> g2["TestGrenzpunktAlkis (7)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t6("no_vg_layer_returns_none")
|
|||
|
|
g2 --> t7("invalid_punktort_layer")
|
|||
|
|
g2 --> t8("empty_punktort_layer")
|
|||
|
|
g2 --> t9("no_gml_ids_returns_pta_only")
|
|||
|
|
g2 --> t10("grenzpunkt_batch_empty")
|
|||
|
|
g2 --> t11("success_returns_both_layers")
|
|||
|
|
g2 --> t12("extent_derived_from_vg_layer")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 warn
|
|||
|
|
class t10 warn
|
|||
|
|
class t11 warn
|
|||
|
|
class t12 warn
|
|||
|
|
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">TestExtrahiereGmlIds<br><span class="testname">test_xlink_href_format</span></td><td>URN-Format 'urn:adv:oid:DEABC123' → nur 'DEABC123' extrahiert.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtrahiereGmlIds<br><span class="testname">test_plain_gml_id</span></td><td>Plain-GML-ID ohne Doppelpunkt → direkt übernommen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtrahiereGmlIds<br><span class="testname">test_empty_value_skipped</span></td><td>Leerer gehoertZu-Wert wird übersprungen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtrahiereGmlIds<br><span class="testname">test_deduplication</span></td><td>Doppelte Referenzen werden dedupliziert.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtrahiereGmlIds<br><span class="testname">test_sorted_output</span></td><td>Rückgabe ist aufsteigend sortiert.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGrenzpunktAlkis<br><span class="testname">test_no_vg_layer_returns_none</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGrenzpunktAlkis<br><span class="testname">test_invalid_punktort_layer</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGrenzpunktAlkis<br><span class="testname">test_empty_punktort_layer</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGrenzpunktAlkis<br><span class="testname">test_no_gml_ids_returns_pta_only</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestGrenzpunktAlkis<br><span class="testname">test_grenzpunkt_batch_empty</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestGrenzpunktAlkis<br><span class="testname">test_success_returns_both_layers</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestGrenzpunktAlkis<br><span class="testname">test_extent_derived_from_vg_layer</span></td><td>Wenn kein extent übergeben → Extent aus VG-Layer holen.</td><td><span class="pill pill-warn">rot</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_verfahrensgebiet/tests/test_knickpunkt_pruefung.py testextrahiereknickpunkte test_leerer_layer_gibt_leere_liste testextrahiereknickpunkte test_keine_gueltige_geometrie_gibt_leere_liste testextrahiereknickpunkte test_feature_mit_leerer_geometrie_gibt_leere_liste testextrahiereknickpunkte test_qgis_nicht_verfuegbar_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 testknickpunktpruefungklassifizierung test_identischer_punkt_wird_gruen_gezaehlt testknickpunktpruefungklassifizierung test_kein_pta_an_knickpunkt_wird_rot_gezaehlt testfehlendknickpunkteviaverbindungslinien test_leere_union_gibt_null_zurueck testfehlendknickpunkteviaverbindungslinien test_weniger_als_zwei_pta_auf_ring_kein_orange testfehlendknickpunkteviaverbindungslinien test_ungematchter_pta_im_puffer_wird_orange testfehlendknickpunkteviaverbindungslinien test_ungematchter_pta_ausserhalb_puffer_kein_orange" data-hasred="0" data-hasskip="0" data-nodoc="0"><button class="card-toggle" data-target="plugin-sn-verfahrensgebiet-tests-test-kni
|
|||
|
|
root(["test_knickpunkt_pruefung.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestExtrahiereKnickpunkte (4)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("leerer_layer_gibt_leere_liste")
|
|||
|
|
g1 --> t2("keine_gueltige_geometrie_gibt_leere_liste")
|
|||
|
|
g1 --> t3("feature_mit_leerer_geometrie_gibt_leere_liste")
|
|||
|
|
g1 --> t4("qgis_nicht_verfuegbar_gibt_leere_liste")
|
|||
|
|
root --> g2["TestKnickpunktPruefungInputvalidierung (3)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t5("keine_knickpunkte_gibt_none_zurueck")
|
|||
|
|
g2 --> t6("kein_punktort_layer_gibt_none_zurueck")
|
|||
|
|
g2 --> t7("abbruch_via_progress_gibt_none_zurueck")
|
|||
|
|
root --> g3["TestKnickpunktPruefungKlassifizierung (2)"]
|
|||
|
|
class g3 groupnode
|
|||
|
|
g3 --> t8("identischer_punkt_wird_gruen_gezaehlt")
|
|||
|
|
g3 --> t9("kein_pta_an_knickpunkt_wird_rot_gezaehlt")
|
|||
|
|
root --> g4["TestFehlendKnickpunkteViaVerbindungslinien (4)"]
|
|||
|
|
class g4 groupnode
|
|||
|
|
g4 --> t10("leere_union_gibt_null_zurueck")
|
|||
|
|
g4 --> t11("weniger_als_zwei_pta_auf_ring_kein_orange")
|
|||
|
|
g4 --> t12("ungematchter_pta_im_puffer_wird_orange")
|
|||
|
|
g4 --> t13("ungematchter_pta_ausserhalb_puffer_kein_orange")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 ok
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 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">TestExtrahiereKnickpunkte<br><span class="testname">test_leerer_layer_gibt_leere_liste</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtrahiereKnickpunkte<br><span class="testname">test_keine_gueltige_geometrie_gibt_leere_liste</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtrahiereKnickpunkte<br><span class="testname">test_feature_mit_leerer_geometrie_gibt_leere_liste</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestExtrahiereKnickpunkte<br><span class="testname">test_qgis_nicht_verfuegbar_gibt_leere_liste</span></td><td>Wenn qgis.core kein QgsPointXY hat (ImportError in Funktion), leere Liste.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestKnickpunktPruefungInputvalidierung<br><span class="testname">test_keine_knickpunkte_gibt_none_zurueck</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestKnickpunktPruefungInputvalidierung<br><span class="testname">test_kein_punktort_layer_gibt_none_zurueck</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestKnickpunktPruefungInputvalidierung<br><span class="testname">test_abbruch_via_progress_gibt_none_zurueck</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestKnickpunktPruefungKlassifizierung<br><span class="testname">test_identischer_punkt_wird_gruen_gezaehlt</span></td><td>PunktortTA exakt am Knickpunkt → identisch_count == 1.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestKnickpunktPruefungKlassifizierung<br><span class="testname">test_kein_pta_an_knickpunkt_wird_rot_gezaehlt</span></td><td>Kein PunktortTA am Knickpunkt → kein_pta_count == 1.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFehlendKnickpunkteViaVerbindungslinien<br><span class="testname">test_leere_union_gibt_null_zurueck</span></td><td>bror_union.isEmpty() == True → (0, []).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFehlendKnickpunkteViaVerbindungslinien<br><span class="testname">test_weniger_als_zwei_pta_auf_ring_kein_orange</span></td><td>Nur 1 gematchter PunktortTA auf Ring → keine fehlenden Knickpunkte.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFehlendKnickpunkteViaVerbindungslinien<br><span class="testname">test_ungematchter_pta_im_puffer_wird_orange</span></td><td>Nicht-gematchter PunktortTA innerhalb 3-cm-Puffer → orange gezählt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFehlendKnickpunkteViaVerbindungslinien<br><span class="testname">test_ungematchter_pta_ausserhalb_puffer_kein_orange</span></td><td>Nicht-gematchter PunktortTA außerhalb Puffer → nicht orange gezählt.</td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_verfahrensgebiet/tests/test_main.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-verfahrensgebiet-tests-test-main-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Verfahrensgebiet/tests/test_main.py<
|
|||
|
|
root(["test_main.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestPluginMain (4)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("init_sets_services_and_names")
|
|||
|
|
g1 --> t2("initGui_registers_action_when_basis_ui_exists")
|
|||
|
|
g1 --> t3("run_creates_dock_and_marks_toolbar_active")
|
|||
|
|
g1 --> t4("unload_removes_dock_and_action")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 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">TestPluginMain<br><span class="testname">test_init_sets_services_and_names</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPluginMain<br><span class="testname">test_initGui_registers_action_when_basis_ui_exists</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPluginMain<br><span class="testname">test_run_creates_dock_and_marks_toolbar_active</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPluginMain<br><span class="testname">test_unload_removes_dock_and_action</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py 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 testverfahrensgebietalkis test_verfahrensgebiet_alkis_success_single_kombination testverfahrensgebietalkis test_verfahrensgebiet_alkis_multi_kombination_dialog_auswahl testverfahrensgebietalkis test_verfahrensgebiet_alkis_multi_kombination_dialog_abbruch testverfahrensgebietalkis test_verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl" data-hasred="0" data-hasskip="0" data-nodoc="0"><button class="card-toggle" data-target="plugin-sn-verfahrensgebiet-tests-test-verfahrensgebiet-alkis-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Verfahrensgebiet/tests/test_verfahrensgebiet_alkis.py</span><span class="card-meta"><span class="count-total">8 Testfälle</span><span class="cpill cpill-ok">8</span><span class="docbadge" title="Anteil mit Docstring">50% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-verfahrensgebiet-tests-test-verfahrensgebiet-alkis-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestVerfahrensgebietAlkis <b>8</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_verfahrensgebiet_alkis.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestVerfahrensgebietAlkis (8)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("check_existing_layer_first_load")
|
|||
|
|
g1 --> t2("check_existing_layer_keep_existing")
|
|||
|
|
g1 --> t3("verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing")
|
|||
|
|
g1 --> t4("verfahrensgebiet_alkis_fails_on_invalid_wfs_layer")
|
|||
|
|
g1 --> t5("verfahrensgebiet_alkis_success_single_kombination")
|
|||
|
|
g1 --> t6("verfahrensgebiet_alkis_multi_kombination_dialog_auswahl")
|
|||
|
|
g1 --> t7("verfahrensgebiet_alkis_multi_kombination_dialog_abbruch")
|
|||
|
|
g1 --> t8("verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 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">TestVerfahrensgebietAlkis<br><span class="testname">test_check_existing_layer_first_load</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkis<br><span class="testname">test_check_existing_layer_keep_existing</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkis<br><span class="testname">test_verfahrensgebiet_alkis_fails_when_verfahrensnummer_missing</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkis<br><span class="testname">test_verfahrensgebiet_alkis_fails_on_invalid_wfs_layer</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkis<br><span class="testname">test_verfahrensgebiet_alkis_success_single_kombination</span></td><td>Einzelne (adv_name, bezeichnung)-Kombination → kein Dialog, Memory-Layer zurück.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkis<br><span class="testname">test_verfahrensgebiet_alkis_multi_kombination_dialog_auswahl</span></td><td>Zwei verschiedene Kombinationen → Dialog wird gezeigt, gewählte Features genutzt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkis<br><span class="testname">test_verfahrensgebiet_alkis_multi_kombination_dialog_abbruch</span></td><td>Zwei verschiedene Kombinationen → Nutzer bricht Dialog ab → NONE.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkis<br><span class="testname">test_verfahrensgebiet_alkis_multi_kombination_mehrfachauswahl</span></td><td>Zwei verschiedene Kombinationen → beide ausgewählt → beide Feature-Gruppen genutzt.</td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_verfahrensgebiet/tests/test_verfahrensgebiet_alkis_komplett.py 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_progress_cancel_after_step1_returns_none testverfahrensgebietalkiskomplett test_success_flaechen_match_zeigt_info testverfahrensgebietalkiskomplett test_no_vkz_variable_passes_empty_string testverfahrensgebietalkiskomplett test_flaechen_abweichung_abbrechen_kein_detailcheck testverfahrensgebietalkiskomplett test_flaechen_abweichung_als_vg_laden testverfahrensgebietalkiskomplett test_flaechen_abweichung_detailpruefung_startet_knickpruefung testverfahrensgebietalkiskomplett test_bror_layer_bleibt_bei_erfolg_im_projekt testverfahrensgebieta
|
|||
|
|
root(["test_verfahrensgebiet_alkis_komplett.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestSelectByLocation (3)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("processing_not_available_returns_zero")
|
|||
|
|
g1 --> t2("processing_success_returns_count")
|
|||
|
|
g1 --> t3("processing_exception_returns_zero")
|
|||
|
|
root --> g2["TestFuegeVkzFeldHinzu (3)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t4("empty_vkz_does_nothing")
|
|||
|
|
g2 --> t5("none_vkz_does_nothing")
|
|||
|
|
g2 --> t6("vkz_field_added")
|
|||
|
|
root --> g3["TestFlaechenvergleich (8)"]
|
|||
|
|
class g3 groupnode
|
|||
|
|
g3 --> t7("gleiche_flaeche_stimmt_ueberein")
|
|||
|
|
g3 --> t8("verschiedene_flaeche_stimmt_nicht_ueberein")
|
|||
|
|
g3 --> t9("differenz_innerhalb_toleranz")
|
|||
|
|
g3 --> t10("differenz_ausserhalb_toleranz")
|
|||
|
|
g3 --> t11("flaechen_werte_korrekt")
|
|||
|
|
g3 --> t12("lese_toleranz_default_ist_null")
|
|||
|
|
g3 --> t13("lese_toleranz_parst_string")
|
|||
|
|
g3 --> t14("lese_toleranz_ungueltig_fallback_null")
|
|||
|
|
root --> g4["TestVerfahrensgebietAlkisKomplett (16)"]
|
|||
|
|
class g4 groupnode
|
|||
|
|
g4 --> t15("vg_alkis_none_aborts")
|
|||
|
|
g4 --> t16("flst_none_aborts")
|
|||
|
|
g4 --> t17("no_selection_returns_none_enriched")
|
|||
|
|
g4 --> t18("invalid_enriched_layer_returns_none")
|
|||
|
|
g4 --> t19("progress_cancel_after_step1_returns_none")
|
|||
|
|
g4 --> t20("success_flaechen_match_zeigt_info")
|
|||
|
|
g4 --> t21("no_vkz_variable_passes_empty_string")
|
|||
|
|
g4 --> t22("flaechen_abweichung_abbrechen_kein_detailcheck")
|
|||
|
|
g4 --> t23("flaechen_abweichung_als_vg_laden")
|
|||
|
|
g4 --> t24("flaechen_abweichung_detailpruefung_startet_knickpruefung")
|
|||
|
|
g4 --> t25("bror_layer_bleibt_bei_erfolg_im_projekt")
|
|||
|
|
g4 --> t26("bror_layer_wird_bei_fehler_entfernt")
|
|||
|
|
g4 --> t27("kein_vkz_kein_landkreis_dialog_abgebrochen")
|
|||
|
|
g4 --> t28("kein_vkz_kein_landkreis_dialog_liefert_landkreis")
|
|||
|
|
g4 --> t29("landkreis_modus_wird_bei_fehlender_vkz_verwendet")
|
|||
|
|
g4 --> t30("landkreis_modus_nur_laden_ueberspringt_dialog2")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 ok
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 ok
|
|||
|
|
class t16 ok
|
|||
|
|
class t17 ok
|
|||
|
|
class t18 ok
|
|||
|
|
class t19 ok
|
|||
|
|
class t20 ok
|
|||
|
|
class t21 ok
|
|||
|
|
class t22 ok
|
|||
|
|
class t23 ok
|
|||
|
|
class t24 ok
|
|||
|
|
class t25 ok
|
|||
|
|
class t26 ok
|
|||
|
|
class t27 ok
|
|||
|
|
class t28 ok
|
|||
|
|
class t29 ok
|
|||
|
|
class t30 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">TestSelectByLocation<br><span class="testname">test_processing_not_available_returns_zero</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSelectByLocation<br><span class="testname">test_processing_success_returns_count</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestSelectByLocation<br><span class="testname">test_processing_exception_returns_zero</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFuegeVkzFeldHinzu<br><span class="testname">test_empty_vkz_does_nothing</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFuegeVkzFeldHinzu<br><span class="testname">test_none_vkz_does_nothing</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFuegeVkzFeldHinzu<br><span class="testname">test_vkz_field_added</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_gleiche_flaeche_stimmt_ueberein</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_verschiedene_flaeche_stimmt_nicht_ueberein</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_differenz_innerhalb_toleranz</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_differenz_ausserhalb_toleranz</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_flaechen_werte_korrekt</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_lese_toleranz_default_ist_null</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_lese_toleranz_parst_string</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFlaechenvergleich<br><span class="testname">test_lese_toleranz_ungueltig_fallback_null</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkisKomplett<br><span class="testname">test_vg_alkis_none_aborts</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkisKomplett<br><span class="testname">test_flst_none_aborts</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkisKomplett<br><span class="testname">test_no_selection_returns_none_enriched</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietAlkisKomplett<br><span
|
|||
|
|
root(["test_verfahrensgebiet_edit_service.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestPruefeFlurstueckLayer (3)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("layer_ok_passes")
|
|||
|
|
g1 --> t2("layer_missing_field_fails")
|
|||
|
|
g1 --> t3("layer_wrong_geometry_fails")
|
|||
|
|
root --> g2["TestPruefeAuswahl (3)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t4("no_selection_fails")
|
|||
|
|
g2 --> t5("with_selection_passes")
|
|||
|
|
g2 --> t6("selectedFeatureCount_exception_treated_as_zero")
|
|||
|
|
root --> g3["TestGetKennzeichenMenge (3)"]
|
|||
|
|
class g3 groupnode
|
|||
|
|
g3 --> t7("returns_set_of_ids")
|
|||
|
|
g3 --> t8("empty_layer_returns_empty_set")
|
|||
|
|
g3 --> t9("single_kennzeichen_without_comma")
|
|||
|
|
root --> g4["TestErstelle (3)"]
|
|||
|
|
class g4 groupnode
|
|||
|
|
g4 --> t10("success_counts")
|
|||
|
|
g4 --> t11("partial_failure_on_empty_geometry")
|
|||
|
|
g4 --> t12("all_fail_on_empty_geometries")
|
|||
|
|
root --> g5["TestErgaenzeVerfahrensgebiet (3)"]
|
|||
|
|
class g5 groupnode
|
|||
|
|
g5 --> t13("adds_only_new_ids")
|
|||
|
|
g5 --> t14("skip_empty_geometry_counts_as_failed")
|
|||
|
|
g5 --> t15("all_already_present")
|
|||
|
|
root --> g6["TestEntferneAusVerfahrensgebiet (5)"]
|
|||
|
|
class g6 groupnode
|
|||
|
|
g6 --> t16("removes_present_ids")
|
|||
|
|
g6 --> t17("counts_ids_not_in_layer")
|
|||
|
|
g6 --> t18("none_present_in_layer")
|
|||
|
|
g6 --> t19("empty_selection_removes_nothing")
|
|||
|
|
g6 --> t20("removes_last_id_deletes_feature")
|
|||
|
|
root --> g7["TestErsetze (1)"]
|
|||
|
|
class g7 groupnode
|
|||
|
|
g7 --> t21("ersetze_delegates_to_erstelle")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 ok
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 ok
|
|||
|
|
class t16 ok
|
|||
|
|
class t17 ok
|
|||
|
|
class t18 ok
|
|||
|
|
class t19 ok
|
|||
|
|
class t20 ok
|
|||
|
|
class t21 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">TestPruefeFlurstueckLayer<br><span class="testname">test_layer_ok_passes</span></td><td>Gültiger Polygon-Vektor-Layer mit Pflichtfeldern → ok=True.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefeFlurstueckLayer<br><span class="testname">test_layer_missing_field_fails</span></td><td>Layer ohne Pflichtfelder → ok=False, aktion=felder_fehlen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefeFlurstueckLayer<br><span class="testname">test_layer_wrong_geometry_fails</span></td><td>Layer mit falschem Geometrietyp → ok=False, aktion=falscher_geotyp.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefeAuswahl<br><span class="testname">test_no_selection_fails</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefeAuswahl<br><span class="testname">test_with_selection_passes</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestPruefeAuswahl<br><span class="testname">test_selectedFeatureCount_exception_treated_as_zero</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGetKennzeichenMenge<br><span class="testname">test_returns_set_of_ids</span></td><td>Kommagetrennte Kennzeichen im Single-Feature werden korrekt geparst.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGetKennzeichenMenge<br><span class="testname">test_empty_layer_returns_empty_set</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestGetKennzeichenMenge<br><span class="testname">test_single_kennzeichen_without_comma</span></td><td>Einzelnes Kennzeichen ohne Komma wird korrekt erkannt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErstelle<br><span class="testname">test_success_counts</span></td><td>3 gültige Features → erfolgreich=3, fehlgeschlagen=0, 1 Union-Feature im Layer.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErstelle<br><span class="testname">test_partial_failure_on_empty_geometry</span></td><td>2 ok + 1 leere Geometrie → erfolgreich=2, fehlgeschlagen=1.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErstelle<br><span class="testname">test_all_fail_on_empty_geometries</span></td><td>Alle Features haben leere Geometrie → erfolgreich=0, kein Feature im Layer.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErgaenzeVerfahrensgebiet<br><span class="testname">test_adds_only_new_ids</span></td><td>Auswahl enthält 1 neue + 1 bereits vorhandene ID → hinzugefügt=1.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErgaenzeVerfahrensgebiet<br><span class="testname">test_skip_empty_geometry_counts_as_failed</span></td><td>Neue ID mit leerer Geometrie → fehlgeschlagen=1, hinzugefügt=0.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErgaenzeVerfahrensgebiet<br><span class="testname">test_all_already_present</span></td><td>Alle ausgewählten IDs bereits vorhanden → bereits_vorhanden=n, hinzugefügt=0.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestEntferneAusVerfahrensgebiet<br><span class="testname">test_removes_present_ids</span></td><td>Auswahl enthält 1 vorhandene ID → entfernt=1, nicht_enthalten=0.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestEntferneAusVerfahrensgebiet<br><span class="testname">test_counts_ids_not_in_layer</span></td><td
|
|||
|
|
root(["test_verfahrensgebiet_shape_komplett.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestFindShp (4)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("findet_shp_in_root")
|
|||
|
|
g1 --> t2("findet_shp_in_unterordner")
|
|||
|
|
g1 --> t3("kein_shp_gibt_none_zurueck")
|
|||
|
|
g1 --> t4("case_insensitive_erkennung")
|
|||
|
|
root --> g2["TestErstelleMemoryLayerAusShp (3)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t5("leere_geometrien_geben_none")
|
|||
|
|
g2 --> t6("keine_features_gibt_none")
|
|||
|
|
g2 --> t7("attribute_von_erstem_feature_werden_gesetzt")
|
|||
|
|
root --> g3["TestLadeVgAusZip (6)"]
|
|||
|
|
class g3 groupnode
|
|||
|
|
g3 --> t8("dialog_abgebrochen_gibt_none_zurueck")
|
|||
|
|
g3 --> t9("zip_fehler_gibt_none_und_warning")
|
|||
|
|
g3 --> t10("kein_shp_in_zip_gibt_none_und_warning")
|
|||
|
|
g3 --> t11("invalider_qgslayer_gibt_none_und_warning")
|
|||
|
|
g3 --> t12("leere_geometrien_geben_none_und_warning")
|
|||
|
|
g3 --> t13("erfolg_gibt_memory_layer_zurueck")
|
|||
|
|
root --> g4["TestVerfahrensgebietShapeKomplett (18)"]
|
|||
|
|
class g4 groupnode
|
|||
|
|
g4 --> t14("lade_zip_none_aborts")
|
|||
|
|
g4 --> t15("shape_vg_sofort_ins_projekt_nach_laden")
|
|||
|
|
g4 --> t16("shape_vg_wird_bei_abbruch_aus_projekt_entfernt")
|
|||
|
|
g4 --> t17("shape_vg_bleibt_im_projekt_bei_erfolg")
|
|||
|
|
g4 --> t18("flst_none_aborts")
|
|||
|
|
g4 --> t19("keine_flurstuecke_selektiert_gibt_warning")
|
|||
|
|
g4 --> t20("flaechen_uebereinstimmung_gibt_info_und_kein_dialog")
|
|||
|
|
g4 --> t21("abweichung_abbrechen_gibt_shape_vg_zurueck")
|
|||
|
|
g4 --> t22("abweichung_detailpruefung_ruft_knickpunkt_pruefung_auf")
|
|||
|
|
g4 --> t23("punktort_ta_none_gibt_shape_vg_zurueck_und_zeigt_fehler")
|
|||
|
|
g4 --> t24("temp_layer_wird_stets_entfernt")
|
|||
|
|
g4 --> t25("bror_layer_ist_stets_none")
|
|||
|
|
g4 --> t26("bror_geladen_und_zurueckgegeben_wenn_vkz_gesetzt")
|
|||
|
|
g4 --> t27("bror_wird_vor_shape_vg_ins_projekt_eingefuegt")
|
|||
|
|
g4 --> t28("bror_wird_bei_abbruch_aus_projekt_entfernt")
|
|||
|
|
g4 --> t29("verfahrensgebiet_alkis_nicht_aufgerufen_wenn_vkz_leer")
|
|||
|
|
g4 --> t30("bror_als_erstes_argument_beim_flaechenvergleich")
|
|||
|
|
g4 --> t31("fallback_auf_temp_enriched_wenn_bror_ladeversagen")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 warn
|
|||
|
|
class t9 warn
|
|||
|
|
class t10 warn
|
|||
|
|
class t11 warn
|
|||
|
|
class t12 warn
|
|||
|
|
class t13 warn
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 warn
|
|||
|
|
class t16 warn
|
|||
|
|
class t17 ok
|
|||
|
|
class t18 ok
|
|||
|
|
class t19 ok
|
|||
|
|
class t20 warn
|
|||
|
|
class t21 warn
|
|||
|
|
class t22 warn
|
|||
|
|
class t23 warn
|
|||
|
|
class t24 ok
|
|||
|
|
class t25 ok
|
|||
|
|
class t26 warn
|
|||
|
|
class t27 warn
|
|||
|
|
class t28 warn
|
|||
|
|
class t29 ok
|
|||
|
|
class t30 warn
|
|||
|
|
class t31 warn
|
|||
|
|
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">TestFindShp<br><span class="testname">test_findet_shp_in_root</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFindShp<br><span class="testname">test_findet_shp_in_unterordner</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFindShp<br><span class="testname">test_kein_shp_gibt_none_zurueck</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestFindShp<br><span class="testname">test_case_insensitive_erkennung</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErstelleMemoryLayerAusShp<br><span class="testname">test_leere_geometrien_geben_none</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErstelleMemoryLayerAusShp<br><span class="testname">test_keine_features_gibt_none</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestErstelleMemoryLayerAusShp<br><span class="testname">test_attribute_von_erstem_feature_werden_gesetzt</span></td><td>Attributwerte des ersten Features werden auf das Union-Feature übertragen.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestLadeVgAusZip<br><span class="testname">test_dialog_abgebrochen_gibt_none_zurueck</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestLadeVgAusZip<br><span class="testname">test_zip_fehler_gibt_none_und_warning</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestLadeVgAusZip<br><span class="testname">test_kein_shp_in_zip_gibt_none_und_warning</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestLadeVgAusZip<br><span class="testname">test_invalider_qgslayer_gibt_none_und_warning</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestLadeVgAusZip<br><span class="testname">test_leere_geometrien_geben_none_und_warning</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestLadeVgAusZip<br><span class="testname">test_erfolg_gibt_memory_layer_zurueck</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestVerfahrensgebietShapeKomplett<br><span class="testname">test_lade_zip_none_aborts</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVerfahrensgebietShapeKomplett<br><span class="testname">test_shape_vg_sofort_ins_projekt_nach_laden</span></td><td>Shape-VG wird unmittelbar nach dem Laden ins Projekt eingefügt.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestVerfahrensgebietShapeKomplett<br><span class="testname">test_shape_vg_wird_bei_abbruch_aus_projekt_entfernt</span></td><td>Shape-VG wird bei Fehler/Abbruch aus dem Projekt entfernt.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestVerfahrensgebietShapeKomplett<br><span class="testname">test_shape_vg_bleibt_im_projekt_bei_erfolg</span></td><td>Bei erfolgreichem Abschluss wird shape_vg NICHT aus dem Projekt entfernt.</td
|
|||
|
|
root(["test_working_tab.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestWorkingTab (24)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("set_busy_updates_button_state")
|
|||
|
|
g1 --> t2("on_verf_layer_changed_valid_sets_variable")
|
|||
|
|
g1 --> t3("on_verf_layer_changed_none_clears_variable")
|
|||
|
|
g1 --> t4("handle_verf_alkis_success_path")
|
|||
|
|
g1 --> t5("handle_verf_alkis_failure_clears_layer_var")
|
|||
|
|
g1 --> t6("handle_flurst_alkis_first_load_uebernimmt_layer")
|
|||
|
|
g1 --> t7("handle_flurst_aus_gemarkungen_ruft_flurstueck_alkis_ohne_schluessel_abfrage")
|
|||
|
|
g1 --> t8("handle_flurst_aus_gemarkungen_abbruch_zeigt_keine_zusaetzliche_meldung")
|
|||
|
|
g1 --> t9("handle_grenz_alkis_success_sets_haken")
|
|||
|
|
g1 --> t10("handle_grenz_alkis_none_result_sets_no_haken")
|
|||
|
|
g1 --> t11("handle_flurst_alkis_success_sets_haken_and_style")
|
|||
|
|
g1 --> t12("handle_flurst_alkis_existing_layer_keep_path")
|
|||
|
|
g1 --> t13("handle_flurst_alkis_invalid_input_returns_early")
|
|||
|
|
g1 --> t14("handle_verfahrensgebiet_from_selection_requires_active_layer")
|
|||
|
|
g1 --> t15("handle_verfahrensgebiet_from_selection_requires_required_fields")
|
|||
|
|
g1 --> t16("handle_verfahrensgebiet_from_selection_requires_selection")
|
|||
|
|
g1 --> t17("handle_verfahrensgebiet_from_selection_new_layer_success")
|
|||
|
|
g1 --> t18("handle_verfahrensgebiet_from_selection_existing_layer_ergaenzen_dispatch")
|
|||
|
|
g1 --> t19("handle_verfahrensgebiet_from_selection_existing_layer_entfernen_dispatch")
|
|||
|
|
g1 --> t20("handle_verfahrensgebiet_from_selection_existing_layer_ersetzen_dispatch")
|
|||
|
|
g1 --> t21("aus_liste_button_shows_not_implemented_hint")
|
|||
|
|
g1 --> t22("handle_gem_alkis_service_reachable_adds_layer")
|
|||
|
|
g1 --> t23("handle_gem_alkis_service_unreachable_shows_warning")
|
|||
|
|
g1 --> t24("handle_gem_alkis_layer_already_exists_shows_info")
|
|||
|
|
root --> g2["TestHandleVerfShape (9)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t25("status_none_clears_layer_variable")
|
|||
|
|
g2 --> t26("button_always_re_enabled_on_failure")
|
|||
|
|
g2 --> t27("verfahrensnummer_nicht_gesetzt_nein_bricht_ab")
|
|||
|
|
g2 --> t28("verfahrensnummer_nicht_gesetzt_ja_fuehrt_fort")
|
|||
|
|
g2 --> t29("verfahrensnummer_gesetzt_kein_rueckfrage_dialog")
|
|||
|
|
g2 --> t30("success_path_applies_style_and_sets_haken")
|
|||
|
|
g2 --> t31("bror_layer_erhaelt_qml_stil")
|
|||
|
|
g2 --> t32("enriched_layer_already_in_project_not_added_again")
|
|||
|
|
g2 --> t33("busy_state_set_during_execution")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 warn
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 warn
|
|||
|
|
class t10 warn
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 ok
|
|||
|
|
class t16 ok
|
|||
|
|
class t17 ok
|
|||
|
|
class t18 ok
|
|||
|
|
class t19 ok
|
|||
|
|
class t20 ok
|
|||
|
|
class t21 ok
|
|||
|
|
class t22 ok
|
|||
|
|
class t23 ok
|
|||
|
|
class t24 ok
|
|||
|
|
class t25 ok
|
|||
|
|
class t26 ok
|
|||
|
|
class t27 warn
|
|||
|
|
class t28 warn
|
|||
|
|
class t29 ok
|
|||
|
|
class t30 ok
|
|||
|
|
class t31 ok
|
|||
|
|
class t32 ok
|
|||
|
|
class t33 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">TestWorkingTab<br><span class="testname">test_set_busy_updates_button_state</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_on_verf_layer_changed_valid_sets_variable</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_on_verf_layer_changed_none_clears_variable</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_verf_alkis_success_path</span></td><td>verfahrensgebiet_alkis_komplett → 4-Tupel (enriched, flst, bror, FIRST).</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_verf_alkis_failure_clears_layer_var</span></td><td>Status NONE → Layer-Variable wird auf '' gesetzt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_flurst_alkis_first_load_uebernimmt_layer</span></td><td>Erstmaliges Laden über 'Flurstücke laden' fügt den Layer dem Projekt hinzu.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_flurst_aus_gemarkungen_ruft_flurstueck_alkis_ohne_schluessel_abfrage</span></td><td>Der Gemarkungen-Auswahl-Button ruft dieselbe Ladefunktion mit ohne_schluessel_abfrage=True auf (#47).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_flurst_aus_gemarkungen_abbruch_zeigt_keine_zusaetzliche_meldung</span></td><td>Bricht flurstueck_alkis() ab (None, NONE), zeigt der Button keine eigene Meldung – flurstueck_alkis() hat das schon getan (#47).</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_grenz_alkis_success_sets_haken</span></td><td>Grenzpunkte erfolgreich geladen → haken_grenz wird gesetzt.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_grenz_alkis_none_result_sets_no_haken</span></td><td>grenzpunkt_alkis liefert (None, None) → kein Haken.</td><td><span class="pill pill-warn">rot</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_flurst_alkis_success_sets_haken_and_style</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_flurst_alkis_existing_layer_keep_path</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_flurst_alkis_invalid_input_returns_early</span></td><td>Status NONE (z. B. Nutzerabbruch) → kein Layer, kein Haken.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_verfahrensgebiet_from_selection_requires_active_layer</span></td><td>Kein aktiver Layer → warning, kein Layer wird erstellt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_verfahrensgebiet_from_selection_requires_required_fields</span></td><td>Layer ohne Pflichtfelder → warning, kein Layer wird erstellt.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestWorkingTab<br><span class="testname">test_handle_verfahr
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<section class="pkg-section" id="pkg-sn_plan41">
|
|||
|
|
<div class="pkg-head">
|
|||
|
|
<div>
|
|||
|
|
<h2>sn_plan41</h2>
|
|||
|
|
<p class="pkg-sub">Fachplugin · Ordner <span class="mono">Plugin_SN_Plan41</span> · 5 Testdateien · 44 Testfälle</p>
|
|||
|
|
</div>
|
|||
|
|
<div class="pkg-bar" 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>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="card-grid"><article class="filecard" data-search="plugin_sn_plan41/tests/test_listenauswerter.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-plan41-tests-test-listenauswerter-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Plan41/tests/test_listenauswerter.py</span><span class="card-meta"><span class="count-total">4 Testfälle</span><span class="cpill cpill-ok">4</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-plan41-tests-test-listenauswerter-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestListenauswerter <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_listenauswerter.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestListenauswerter (4)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("validate_rows_accepts_valid_row_and_normalizes_provider")
|
|||
|
|
g1 --> t2("validate_rows_rejects_missing_required_fields")
|
|||
|
|
g1 --> t3("validate_rows_sets_stildatei_none_on_style_failure")
|
|||
|
|
g1 --> t4("validate_rows_handles_non_mapping_rows_edge_case")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 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">TestListenauswerter<br><span class="testname">test_validate_rows_accepts_valid_row_and_normalizes_provider</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestListenauswerter<br><span class="testname">test_validate_rows_rejects_missing_required_fields</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestListenauswerter<br><span class="testname">test_validate_rows_sets_stildatei_none_on_style_failure</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestListenauswerter<br><span class="testname">test_validate_rows_handles_non_mapping_rows_edge_case</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_plan41/tests/test_tab_a_logic.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-plan41-tests-test-tab-a-logic-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Plan41/tests/test_tab_a_logic.py</span><span class="card-meta"><span class="count-total">9 Testfälle</span><span class="cpill cpill-ok">9</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-plan41-tests-test-tab-a-logic-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestTabALogic <b>9</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_tab_a_logic.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestTabALogic (9)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("verfahrens_db_set_and_load_roundtrip")
|
|||
|
|
g1 --> t2("verfahrens_db_clear")
|
|||
|
|
g1 --> t3("linkliste_set_and_load_existing_path")
|
|||
|
|
g1 --> t4("linkliste_load_returns_none_when_file_missing")
|
|||
|
|
g1 --> t5("resolve_linkliste_empty_uses_standard_and_persists")
|
|||
|
|
g1 --> t6("resolve_linkliste_returns_none_when_pruefmanager_rejects")
|
|||
|
|
g1 --> t7("resolve_raumfilter_without_filter_returns_none")
|
|||
|
|
g1 --> t8("resolve_raumfilter_verfahrensgebiet_uses_layer_lookup")
|
|||
|
|
g1 --> t9("extract_datenabruf_error_maps_merges_reason_maps")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 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">TestTabALogic<br><span class="testname">test_verfahrens_db_set_and_load_roundtrip</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_verfahrens_db_clear</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_linkliste_set_and_load_existing_path</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_linkliste_load_returns_none_when_file_missing</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_resolve_linkliste_empty_uses_standard_and_persists</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_resolve_linkliste_returns_none_when_pruefmanager_rejects</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_resolve_raumfilter_without_filter_returns_none</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_resolve_raumfilter_verfahrensgebiet_uses_layer_lookup</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabALogic<br><span class="testname">test_extract_datenabruf_error_maps_merges_reason_maps</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_plan41/tests/test_tab_a_preconditions.py 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-plan41-tests-test-tab-a-preconditions-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Plan41/tests/test_tab_a_preconditions.py</span><span class="card-meta"><span class="count-total">3 Testfälle</span><span class="cpill cpill-ok">3</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-plan41-tests-test-tab-a-preconditions-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestTabAPreconditions <b>3</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_tab_a_preconditions.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestTabAPreconditions (3)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("get_verfahrensgebiet_layer_shows_hint_when_layer_id_missing")
|
|||
|
|
g1 --> t2("get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project")
|
|||
|
|
g1 --> t3("pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 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">TestTabAPreconditions<br><span class="testname">test_get_verfahrensgebiet_layer_shows_hint_when_layer_id_missing</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabAPreconditions<br><span class="testname">test_get_verfahrensgebiet_layer_shows_hint_when_layer_not_in_project</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabAPreconditions<br><span class="testname">test_pipeline_aborts_and_shows_hint_when_verfahrensgebiet_missing</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_plan41/tests/test_tab_a_ui.py 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" data-hasred="1" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-plan41-tests-test-tab-a-ui-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Plan41/tests/test_tab_a_ui.py</span><span class="card-meta"><span class="count-total">3 Testfälle</span><span class="cpill cpill-ok">2</span><span class="cpill cpill-warn">1</span><span class="docbadge" title="Anteil mit Docstring">0% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-plan41-tests-test-tab-a-ui-py"><p class="filedesc">— (Docstring fehlt)</p><div class="gchips"><span class="gchip" title="">TestTabAUI <b>3</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_tab_a_ui.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestTabAUI (3)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("tab_a_callbacks_can_be_called_without_crash")
|
|||
|
|
g1 --> t2("tab_a_raumfilter_callback_persists_value")
|
|||
|
|
g1 --> t3("set_services_initializes_logic_and_injects_data_grabber")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 warn
|
|||
|
|
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">TestTabAUI<br><span class="testname">test_tab_a_callbacks_can_be_called_without_crash</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabAUI<br><span class="testname">test_tab_a_raumfilter_callback_persists_value</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestTabAUI<br><span class="testname">test_set_services_initializes_logic_and_injects_data_grabber</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-warn">rot</span></td></tr></tbody></table></div></article><article class="filecard" data-search="plugin_sn_plan41/tests/test_vln_api_logic.py testvlnapilogicavailability test_is_available_reflects_import_state testvlnapilogicavailability test_is_available_false_when_vln_karten_missing 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" data-hasred="0" data-hasskip="0" data-nodoc="1"><button class="card-toggle" data-target="plugin-sn-plan41-tests-test-vln-api-logic-py" aria-expanded="false"><span class="card-path mono">Plugin_SN_Plan41/tests/test_vln_api_logic.py</span><span class="card-meta"><span class="count-total">25 Testfälle</span><span class="cpill cpill-ok">25</span><span class="docbadge" title="Anteil mit Docstring">4% beschrieben</span><span class="chev" aria-hidden="true">▾</span></span></button><div class="card-body" id="body-plugin-sn-plan41-tests-test-vln-api-logic-py"><p class="filedesc">Tests für sn_plan41/modules/vln_api_logic.py</p><div class="gchips"><span class="gchip" title="">TestVlnApiLogicAvailability <b>2</b></span><span class="gchip" title="">TestVlnApiLogicCredentials <b>4</b></span><span class="gchip" title="">TestVlnApiLogicLogin <b>6</b></span><span class="gchip" title="">TestVlnApiLogicVerfahren <b>2</b></span><span class="gchip" title="">TestVlnApiLogicVkz <b>4</b></span><span class="gchip" title="">TestVlnApiLogicLoadP41 <b>3</b></span><span class="gchip" title="">TestVlnApiLogicUpload <b>4</b></span></div><div class="diagram-wrap"><pre class="mermaid">flowchart TD
|
|||
|
|
root(["test_vln_api_logic.py"])
|
|||
|
|
class root rootnode
|
|||
|
|
root --> g1["TestVlnApiLogicAvailability (2)"]
|
|||
|
|
class g1 groupnode
|
|||
|
|
g1 --> t1("is_available_reflects_import_state")
|
|||
|
|
g1 --> t2("is_available_false_when_vln_karten_missing")
|
|||
|
|
root --> g2["TestVlnApiLogicCredentials (4)"]
|
|||
|
|
class g2 groupnode
|
|||
|
|
g2 --> t3("save_api_key_calls_qsettings")
|
|||
|
|
g2 --> t4("clear_api_key_calls_remove")
|
|||
|
|
g2 --> t5("load_stored_credentials_returns_api_key_and_mail")
|
|||
|
|
g2 --> t6("load_stored_credentials_returns_none_for_empty")
|
|||
|
|
root --> g3["TestVlnApiLogicLogin (6)"]
|
|||
|
|
class g3 groupnode
|
|||
|
|
g3 --> t7("login_sets_client_and_saves_key")
|
|||
|
|
g3 --> t8("login_raises_runtime_error_without_qgis_modules")
|
|||
|
|
g3 --> t9("login_propagates_api_error")
|
|||
|
|
g3 --> t10("logout_clears_client")
|
|||
|
|
g3 --> t11("is_authenticated_false_after_logout")
|
|||
|
|
g3 --> t12("handle_session_expired_clears_key_and_client")
|
|||
|
|
root --> g4["TestVlnApiLogicVerfahren (2)"]
|
|||
|
|
class g4 groupnode
|
|||
|
|
g4 --> t13("get_verfahren_raises_when_not_authenticated")
|
|||
|
|
g4 --> t14("get_verfahren_delegates_to_client")
|
|||
|
|
root --> g5["TestVlnApiLogicVkz (4)"]
|
|||
|
|
class g5 groupnode
|
|||
|
|
g5 --> t15("load_stored_vkz_reads_from_project")
|
|||
|
|
g5 --> t16("load_stored_vkz_returns_none_for_empty")
|
|||
|
|
g5 --> t17("save_vkz_writes_to_project")
|
|||
|
|
g5 --> t18("save_vkz_does_nothing_for_none")
|
|||
|
|
root --> g6["TestVlnApiLogicLoadP41 (3)"]
|
|||
|
|
class g6 groupnode
|
|||
|
|
g6 --> t19("load_p41_raises_without_vln_karten")
|
|||
|
|
g6 --> t20("load_p41_applies_styles_to_polygon_and_line_layers")
|
|||
|
|
g6 --> t21("load_p41_no_style_for_point_layer")
|
|||
|
|
root --> g7["TestVlnApiLogicUpload (4)"]
|
|||
|
|
class g7 groupnode
|
|||
|
|
g7 --> t22("upload_returns_error_for_layer_without_api_path")
|
|||
|
|
g7 --> t23("upload_returns_error_for_none_layer")
|
|||
|
|
g7 --> t24("upload_returns_false_without_qgis_modules")
|
|||
|
|
g7 --> t25("upload_calls_save_feature_collection")
|
|||
|
|
class t1 ok
|
|||
|
|
class t2 ok
|
|||
|
|
class t3 ok
|
|||
|
|
class t4 ok
|
|||
|
|
class t5 ok
|
|||
|
|
class t6 ok
|
|||
|
|
class t7 ok
|
|||
|
|
class t8 ok
|
|||
|
|
class t9 ok
|
|||
|
|
class t10 ok
|
|||
|
|
class t11 ok
|
|||
|
|
class t12 ok
|
|||
|
|
class t13 ok
|
|||
|
|
class t14 ok
|
|||
|
|
class t15 ok
|
|||
|
|
class t16 ok
|
|||
|
|
class t17 ok
|
|||
|
|
class t18 ok
|
|||
|
|
class t19 ok
|
|||
|
|
class t20 ok
|
|||
|
|
class t21 ok
|
|||
|
|
class t22 ok
|
|||
|
|
class t23 ok
|
|||
|
|
class t24 ok
|
|||
|
|
class t25 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">TestVlnApiLogicAvailability<br><span class="testname">test_is_available_reflects_import_state</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicAvailability<br><span class="testname">test_is_available_false_when_vln_karten_missing</span></td><td>Wenn VLN_KARTEN_AVAILABLE=False, liefert is_available() False.</td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicCredentials<br><span class="testname">test_save_api_key_calls_qsettings</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicCredentials<br><span class="testname">test_clear_api_key_calls_remove</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicCredentials<br><span class="testname">test_load_stored_credentials_returns_api_key_and_mail</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicCredentials<br><span class="testname">test_load_stored_credentials_returns_none_for_empty</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicLogin<br><span class="testname">test_login_sets_client_and_saves_key</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicLogin<br><span class="testname">test_login_raises_runtime_error_without_qgis_modules</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicLogin<br><span class="testname">test_login_propagates_api_error</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicLogin<br><span class="testname">test_logout_clears_client</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicLogin<br><span class="testname">test_is_authenticated_false_after_logout</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicLogin<br><span class="testname">test_handle_session_expired_clears_key_and_client</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicVerfahren<br><span class="testname">test_get_verfahren_raises_when_not_authenticated</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicVerfahren<br><span class="testname">test_get_verfahren_delegates_to_client</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicVkz<br><span class="testname">test_load_stored_vkz_reads_from_project</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicVkz<br><span class="testname">test_load_stored_vkz_returns_none_for_empty</span></td><td><span class="nodoc">— (Docstring fehlt)</span></td><td><span class="pill pill-ok">grün</span></td></tr><tr><td class="mono">TestVlnApiLogicVkz<br><span class="testname">test_save_vkz_writes_to_project</span></td><td><span class="nodoc">— (Docstring fehlt
|
|||
|
|
</section>
|
|||
|
|
|
|||
|
|
<footer>Erzeugt von <span class="mono">python scripts/testkatalog.py</span> aus den unittest-Suiten der sn_*-Plugins. Diagramme gruppieren Testfälle je Testdatei nach <span class="mono">unittest.TestCase</span>-Klasse; Farbe zeigt den Baseline-Status (grün / rot / übersprungen), nicht die fachliche Wichtigkeit.</footer>
|
|||
|
|
|
|||
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.9.1/mermaid.min.js"></script>
|
|||
|
|
<script>
|
|||
|
|
(function(){
|
|||
|
|
function initMermaid(){
|
|||
|
|
try{
|
|||
|
|
mermaid.initialize({ startOnLoad:false, theme:"base", securityLevel:"loose",
|
|||
|
|
themeVariables:{ fontFamily:'"IBM Plex Mono", monospace', fontSize:'12.5px' } });
|
|||
|
|
mermaid.run({ querySelector: 'pre.mermaid' }).then(setupToggles).catch(function(e){
|
|||
|
|
console.error('mermaid render failed', e); setupToggles();
|
|||
|
|
});
|
|||
|
|
}catch(e){ console.error(e); setupToggles(); }
|
|||
|
|
}
|
|||
|
|
function setupToggles(){
|
|||
|
|
document.querySelectorAll('.card-toggle').forEach(function(btn){
|
|||
|
|
var card = btn.closest('.filecard');
|
|||
|
|
var body = card.querySelector('.card-body');
|
|||
|
|
if (!body.querySelector('.card-body-inner')){
|
|||
|
|
var inner = document.createElement('div');
|
|||
|
|
inner.className = 'card-body-inner';
|
|||
|
|
while (body.firstChild) inner.appendChild(body.firstChild);
|
|||
|
|
body.appendChild(inner);
|
|||
|
|
}
|
|||
|
|
btn.addEventListener('click', function(){
|
|||
|
|
var isOpen = card.classList.toggle('open');
|
|||
|
|
btn.setAttribute('aria-expanded', isOpen ? 'true':'false');
|
|||
|
|
body.style.maxHeight = isOpen ? (body.scrollHeight + 40) + 'px' : '0px';
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
function applyFilters(){
|
|||
|
|
var active = document.querySelector('.chip[aria-pressed="true"]').dataset.filter;
|
|||
|
|
var q = document.getElementById('searchInput').value.trim().toLowerCase();
|
|||
|
|
document.querySelectorAll('.filecard').forEach(function(card){
|
|||
|
|
var passFilter = active === 'all' || card.dataset[active] === '1';
|
|||
|
|
var passSearch = !q || card.dataset.search.indexOf(q) !== -1;
|
|||
|
|
card.hidden = !(passFilter && passSearch);
|
|||
|
|
});
|
|||
|
|
document.querySelectorAll('.pkg-section').forEach(function(sec){
|
|||
|
|
sec.hidden = !sec.querySelector('.filecard:not([hidden])');
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
document.querySelectorAll('.chip').forEach(function(chip){
|
|||
|
|
chip.addEventListener('click', function(){
|
|||
|
|
document.querySelectorAll('.chip').forEach(function(c){ c.setAttribute('aria-pressed','false'); });
|
|||
|
|
chip.setAttribute('aria-pressed','true');
|
|||
|
|
applyFilters();
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
document.getElementById('searchInput').addEventListener('input', applyFilters);
|
|||
|
|
if (document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', initMermaid); }
|
|||
|
|
else { initMermaid(); }
|
|||
|
|
})();
|
|||
|
|
</script>
|
|||
|
|
|