summaryrefslogtreecommitdiff
path: root/ride/climb_test.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-07 14:58:02 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-07 14:58:02 +0200
commit22a58e96dddd326f4c331c2a1bdea46f808ae3ad (patch)
tree08222960e60a9e6db843a0efe37e93b7f67913da /ride/climb_test.go
parent4b90740c41afb43d11e4dd2c0c9ed91654b7ce43 (diff)
refactor: Store rides in columns
Diffstat (limited to 'ride/climb_test.go')
-rw-r--r--ride/climb_test.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/ride/climb_test.go b/ride/climb_test.go
index ad00d65..3dd6e53 100644
--- a/ride/climb_test.go
+++ b/ride/climb_test.go
@@ -6,6 +6,7 @@ import (
"testing"
"time"
+ "github.com/jftuga/geodist"
"github.com/martinlehoux/biking_home/ride"
"github.com/martinlehoux/kagamigo/kcore"
"github.com/stretchr/testify/assert"
@@ -40,7 +41,10 @@ func (b RideBuilder) WithSection(input string) RideBuilder {
}
func (b RideBuilder) Build() ride.Ride {
- points := []ride.Point{{}}
+ distances := []float64{0}
+ elevations := []float64{0}
+ coords := []geodist.Coord{{}}
+ timestamps := []time.Time{{}}
distance := 0.0
elevation := 0.0
for _, section := range b.sections {
@@ -48,15 +52,14 @@ func (b RideBuilder) Build() ride.Ride {
for curSecDist < section.distance {
curSecDist += b.precision
elevation += b.precision * section.slope
- points = append(points, ride.Point{
- DistanceM: distance + curSecDist,
- ElevationM: elevation,
- Timestamp: points[len(points)-1].Timestamp.Add(time.Second),
- })
+ distances = append(distances, distance+curSecDist)
+ elevations = append(elevations, elevation)
+ coords = append(coords, geodist.Coord{})
+ timestamps = append(timestamps, timestamps[len(timestamps)-1].Add(time.Second))
}
distance += curSecDist
}
- return ride.FromPoints(points)
+ return ride.FromColumns(distances, elevations, coords, timestamps)
}
var parser = ride.GPXRideParser{}