summaryrefslogtreecommitdiff
path: root/ride
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2024-12-30 11:06:18 +0100
committerMartin Kagamino Lehoux <martin@lehoux.net>2024-12-30 11:06:18 +0100
commit72032ded336192c27d53c07f018081d767f78a49 (patch)
tree5e7dc44a9389abd540159d4bab602d092a6f5470 /ride
parent76f13c2c07ccb187d7b8376322cd973fd2d54be4 (diff)
chore: Add test & cleanup logs
Diffstat (limited to 'ride')
-rw-r--r--ride/climb.go6
-rw-r--r--ride/climb_test.go11
2 files changed, 14 insertions, 3 deletions
diff --git a/ride/climb.go b/ride/climb.go
index 7720fa8..190225e 100644
--- a/ride/climb.go
+++ b/ride/climb.go
@@ -1,7 +1,7 @@
package ride
import (
- "fmt"
+ "log/slog"
"math"
"slices"
@@ -97,7 +97,7 @@ func climbsBetween(points []Point, start int, end int) []Climb {
if points[end].distance-points[start].distance < ClimbDistanceMinimum {
return climbs
}
- fmt.Printf("Searching climbs between %.1fkm and %.1fkm\n", points[start].distance/1000, points[end].distance/1000)
+ slog.Debug("Searching climbs between", slog.Int("start", int(points[start].distance)), slog.Int("end", int(points[end].distance)))
highest := start
for i := start; i <= end; i++ {
if points[i].elevation > points[highest].elevation {
@@ -110,7 +110,7 @@ func climbsBetween(points []Point, start int, end int) []Climb {
}
climb := bestClimbBetween(points, start, highest)
if Score(points, climb.start, climb.end) >= 35 && points[climb.end].distance-points[climb.start].distance >= ClimbDistanceMinimum {
- fmt.Printf("Found climb between %.1fkm and %.1fkm\n", points[climb.start].distance/1000, points[climb.end].distance/1000)
+ slog.Debug("Found climb between", slog.Int("start", int(points[climb.start].distance)), slog.Int("end", int(points[climb.end].distance)))
climbs = append(climbs, climb)
}
climbs = append(climbs, climbsBetween(points, start, climb.start)...)
diff --git a/ride/climb_test.go b/ride/climb_test.go
index 0f6ff8b..36b9d09 100644
--- a/ride/climb_test.go
+++ b/ride/climb_test.go
@@ -103,3 +103,14 @@ func TestBouclesVerdon2024(t *testing.T) {
assert.Equal(t, "71.7km-74.7km: 3.0km at 5.3% (84 pts - Cat 3)", r.String(climbs[4]))
assert.Equal(t, "77.4km-78.7km: 1.3km at 5.3% (37 pts - Cat 4)", r.String(climbs[5]))
}
+
+func TestMimetArbois20241229(t *testing.T) {
+ gpxContent, err := gpx.ParseFile("../examples/2024-12-29.MimetArbois.gpx")
+ assert.NoError(t, err)
+ r := ride.FromGPX(gpxContent)
+ climbs := r.AllClimbs()
+
+ assert.Len(t, climbs, 2)
+ assert.Equal(t, "3.9km-5.3km: 1.4km at 10.3% (153 pts - Cat 3)", r.String(climbs[0]))
+ assert.Equal(t, "14.4km-19.8km: 5.4km at 4.3% (98 pts - Cat 3)", r.String(climbs[1]))
+}