diff options
| author | Claude <noreply@anthropic.com> | 2026-05-20 22:18:38 +0000 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-05-20 22:18:38 +0000 |
| commit | 62cc93086498d57ef7298eddb40cc382dfc10c6d (patch) | |
| tree | 5203af49d29d97a7109909ad905fae1fa9a668e8 /android-app/app/src/test/kotlin | |
| parent | 494e2f0f9ff3e89d1ff7409da096efee57be08b7 (diff) | |
Fix Long overflow in TackDetector: var lastTackMs = Long.MIN_VALUE caused subtraction overflow, filtering every tack
Diffstat (limited to 'android-app/app/src/test/kotlin')
| -rw-r--r-- | android-app/app/src/test/kotlin/org/terst/nav/track/TackDetectorGpxTest.kt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/android-app/app/src/test/kotlin/org/terst/nav/track/TackDetectorGpxTest.kt b/android-app/app/src/test/kotlin/org/terst/nav/track/TackDetectorGpxTest.kt new file mode 100644 index 0000000..83ca259 --- /dev/null +++ b/android-app/app/src/test/kotlin/org/terst/nav/track/TackDetectorGpxTest.kt @@ -0,0 +1,25 @@ +package org.terst.nav.track + +import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue +import org.junit.Test + +class TackDetectorGpxTest { + + @Test + fun `detects 6 tacks in April 22 test file`() { + val stream = javaClass.classLoader!! + .getResourceAsStream("nav_20260422_190543.gpx") + ?: error("GPX test file not found in test resources") + val points = GpxParser.parse(stream) + assertTrue("Expected >100 points, got ${points.size}", points.size > 100) + + val tacks = TackDetector.detectTacks(points) + assertEquals( + "Expected 6 tacks in test track; got ${tacks.size}: ${ + tacks.map { "%.0fâ%.0f".format(it.cogBefore, it.cogAfter) } + }", + 6, tacks.size + ) + } +} |
