From efadbab48a009eb31f88e208892edff03863bf85 Mon Sep 17 00:00:00 2001 From: Daniel Michelberger Date: Thu, 6 Aug 2026 17:35:54 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20fehlerhaften=20H=C3=B6henmeter-Test=20i?= =?UTF-8?q?m=20Plan=20korrigieren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Test "ignoriert Höhenschwankungen unter 3 m" nutzte 300->301->302->303 und erwartete 0 Höhenmeter. Das ist aber ein echter Anstieg von 3 m, nur fein aufgezeichnet — bei einem langen gleichmäßigen Berganstieg hätte der Parser die Höhenmeter systematisch verschluckt. Jetzt zwei Tests, die die Fälle trennen: gleichmäßiger Anstieg in 1-m-Schritten ergibt 3 hm, Schwanken um denselben Wert ergibt 0. Co-Authored-By: Claude Opus 5 (1M context) --- docs/superpowers/plans/2026-08-06-trails.md | 23 ++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/superpowers/plans/2026-08-06-trails.md b/docs/superpowers/plans/2026-08-06-trails.md index df28480..dbb3f08 100644 --- a/docs/superpowers/plans/2026-08-06-trails.md +++ b/docs/superpowers/plans/2026-08-06-trails.md @@ -559,15 +559,32 @@ describe('parseGpx', () => { expect(r.ascent_m).toBe(65) }) - it('ignoriert Höhenschwankungen unter 3 m', () => { - const noisy = ` + it('erfasst einen gleichmäßigen Anstieg auch in feinen Schritten', () => { + // 300 -> 303 in 1-m-Schritten ist kein Rauschen, sondern ein echter + // Anstieg von 3 m — nur fein aufgezeichnet. Der Bezugspunkt bleibt + // stehen, bis die Schwelle erreicht ist, deshalb wird er erfasst. + const fine = ` 300 301 302 303 ` - // Lauter 1-m-Schritte: reines GPS-Rauschen, kein echter Anstieg + expect(parseGpx(fine).ascent_m).toBe(3) + }) + + it('ignoriert Rauschen, das um denselben Wert schwankt', () => { + // Auf und ab um höchstens 2 m ohne echten Höhengewinn — genau das, + // wogegen die Schwelle schützt. + const noisy = ` + + 300 + 302 + 300 + 301 + 299 + 300 +` expect(parseGpx(noisy).ascent_m).toBe(0) })