From 22a58e96dddd326f4c331c2a1bdea46f808ae3ad Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Fri, 7 Aug 2026 14:58:02 +0200 Subject: refactor: Store rides in columns --- ride/climb_test.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'ride/climb_test.go') 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{} -- cgit v1.2.3