From 87850541aa6f719721209ed994b93ad4d7ab4077 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Mon, 21 Apr 2025 10:46:17 +0200 Subject: Add more data in climb & point --- ride/climb_test.go | 60 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 29 deletions(-) (limited to 'ride/climb_test.go') diff --git a/ride/climb_test.go b/ride/climb_test.go index 803b67a..75aeb0e 100644 --- a/ride/climb_test.go +++ b/ride/climb_test.go @@ -4,6 +4,7 @@ import ( "strconv" "strings" "testing" + "time" "github.com/martinlehoux/biking_home/ride" "github.com/martinlehoux/kagamigo/kcore" @@ -40,7 +41,7 @@ func (b RideBuilder) WithSection(input string) RideBuilder { } func (b RideBuilder) Build() ride.Ride { - points := []ride.Point{ride.NewPoint(0, 0)} + points := []ride.Point{{}} distance := 0.0 elevation := 0.0 for _, section := range b.sections { @@ -48,10 +49,11 @@ func (b RideBuilder) Build() ride.Ride { for curSecDist < section.distance { curSecDist += b.precision elevation += b.precision * section.slope - points = append(points, ride.NewPoint( - distance+curSecDist, - elevation, - )) + points = append(points, ride.Point{ + DistanceM: distance + curSecDist, + ElevationM: elevation, + Timestamp: points[len(points)-1].Timestamp.Add(time.Second), + }) } distance += curSecDist } @@ -63,7 +65,7 @@ func TestClimbThenFalseFlat(t *testing.T) { climbs := r.AllClimbs() assert.Len(t, climbs, 1) - assert.Equal(t, "0.0km-2.0km: 2.0km at 7.0% (98 pts - Cat 3)", r.String(climbs[0])) + assert.Equal(t, "0.0km-2.0km: 2.0km at 7.0% (98 pts - Cat 3)", climbs[0].String()) } func TestSmallClimbWithDescentInsideFalseFlat(t *testing.T) { @@ -71,7 +73,7 @@ func TestSmallClimbWithDescentInsideFalseFlat(t *testing.T) { climbs := r.AllClimbs() assert.Len(t, climbs, 1) - assert.Equal(t, "10.0km-12.0km: 2.0km at 7.0% (98 pts - Cat 3)", r.String(climbs[0])) + assert.Equal(t, "10.0km-12.0km: 2.0km at 7.0% (98 pts - Cat 3)", climbs[0].String()) } func TestPogacar20220721(t *testing.T) { @@ -81,12 +83,12 @@ func TestPogacar20220721(t *testing.T) { climbs := r.AllClimbs() assert.Len(t, climbs, 6) - assert.Equal(t, "0.6km-5.6km: 5.0km at 3.5% (62 pts - Cat 4)", r.String(climbs[0])) - assert.Equal(t, "42.9km-45.2km: 2.3km at 5.0% (59 pts - Cat 4)", r.String(climbs[1])) - assert.Equal(t, "60.0km-76.4km: 16.4km at 7.2% (854 pts - HC)", r.String(climbs[2])) - assert.Equal(t, "83.8km-85.9km: 2.0km at 5.4% (59 pts - Cat 4)", r.String(climbs[3])) - assert.Equal(t, "99.2km-109.3km: 10.2km at 8.4% (710 pts - HC)", r.String(climbs[4])) - assert.Equal(t, "128.6km-142.2km: 13.6km at 7.8% (832 pts - HC)", r.String(climbs[5])) + assert.Equal(t, "0.6km-5.6km: 5.0km at 3.5% (62 pts - Cat 4)", climbs[0].String()) + assert.Equal(t, "42.9km-45.2km: 2.3km at 5.0% (59 pts - Cat 4)", climbs[1].String()) + assert.Equal(t, "60.0km-76.4km: 16.4km at 7.2% (854 pts - HC)", climbs[2].String()) + assert.Equal(t, "83.8km-85.9km: 2.0km at 5.4% (59 pts - Cat 4)", climbs[3].String()) + assert.Equal(t, "99.2km-109.3km: 10.2km at 8.4% (710 pts - HC)", climbs[4].String()) + assert.Equal(t, "128.6km-142.2km: 13.6km at 7.8% (832 pts - HC)", climbs[5].String()) } func TestBouclesVerdon2024(t *testing.T) { @@ -96,12 +98,12 @@ func TestBouclesVerdon2024(t *testing.T) { climbs := r.AllClimbs() assert.Len(t, climbs, 6) - assert.Equal(t, "3.6km-13.8km: 10.3km at 2.1% (44 pts - Cat 4)", r.String(climbs[0])) // TODO: Not steep enough - assert.Equal(t, "34.7km-37.3km: 2.5km at 5.0% (62 pts - Cat 4)", r.String(climbs[1])) - assert.Equal(t, "41.9km-51.0km: 9.0km at 2.5% (55 pts - Cat 4)", r.String(climbs[2])) // TODO: Not steep enough - assert.Equal(t, "57.6km-60.8km: 3.1km at 6.3% (124 pts - Cat 3)", r.String(climbs[3])) - 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])) + assert.Equal(t, "3.6km-13.8km: 10.3km at 2.1% (44 pts - Cat 4)", climbs[0].String()) // TODO: Not steep enough + assert.Equal(t, "34.7km-37.3km: 2.5km at 5.0% (62 pts - Cat 4)", climbs[1].String()) + assert.Equal(t, "41.9km-51.0km: 9.0km at 2.5% (55 pts - Cat 4)", climbs[2].String()) // TODO: Not steep enough + assert.Equal(t, "57.6km-60.8km: 3.1km at 6.3% (124 pts - Cat 3)", climbs[3].String()) + assert.Equal(t, "71.7km-74.7km: 3.0km at 5.3% (84 pts - Cat 3)", climbs[4].String()) + assert.Equal(t, "77.4km-78.7km: 1.3km at 5.3% (37 pts - Cat 4)", climbs[5].String()) } func TestMimetArbois20241229(t *testing.T) { @@ -111,8 +113,8 @@ func TestMimetArbois20241229(t *testing.T) { 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])) + assert.Equal(t, "3.9km-5.3km: 1.4km at 10.3% (153 pts - Cat 3)", climbs[0].String()) + assert.Equal(t, "14.4km-19.8km: 5.4km at 4.3% (98 pts - Cat 3)", climbs[1].String()) } func TestMimetArbois20250104(t *testing.T) { @@ -122,8 +124,8 @@ func TestMimetArbois20250104(t *testing.T) { climbs := r.AllClimbs() assert.Len(t, climbs, 2) - assert.Equal(t, "4.5km-5.9km: 1.4km at 10.1% (148 pts - Cat 3)", r.String(climbs[0])) - assert.Equal(t, "12.0km-20.2km: 8.2km at 2.9% (67 pts - Cat 4)", r.String(climbs[1])) // TODO: Not steep enough + assert.Equal(t, "4.5km-5.9km: 1.4km at 10.1% (148 pts - Cat 3)", climbs[0].String()) + assert.Equal(t, "12.0km-20.2km: 8.2km at 2.9% (67 pts - Cat 4)", climbs[1].String()) // TODO: Not steep enough } // https://www.strava.com/activities/9282265844 @@ -134,10 +136,10 @@ func TestAlpesVerdonTour20230617(t *testing.T) { climbs := r.AllClimbs() assert.Len(t, climbs, 6) - assert.Equal(t, "0.7km-18.6km: 17.9km at 3.5% (217 pts - Cat 2)", r.String(climbs[0])) // TODO: Should split in 2 (10km at 4.5% is Cat 2) - assert.Equal(t, "36.1km-41.6km: 5.4km at 5.8% (182 pts - Cat 2)", r.String(climbs[1])) - assert.Equal(t, "47.0km-48.2km: 1.2km at 6.1% (45 pts - Cat 4)", r.String(climbs[2])) - assert.Equal(t, "51.9km-54.7km: 2.8km at 4.0% (45 pts - Cat 4)", r.String(climbs[3])) - assert.Equal(t, "86.7km-92.8km: 6.1km at 2.7% (44 pts - Cat 4)", r.String(climbs[4])) - assert.Equal(t, "114.1km-114.7km: 0.6km at 14.3% (118 pts - Cat 3)", r.String(climbs[5])) + assert.Equal(t, "0.7km-18.6km: 17.9km at 3.5% (217 pts - Cat 2)", climbs[0].String()) // TODO: Should split in 2 (10km at 4.5% is Cat 2) + assert.Equal(t, "36.1km-41.6km: 5.4km at 5.8% (182 pts - Cat 2)", climbs[1].String()) + assert.Equal(t, "47.0km-48.2km: 1.2km at 6.1% (45 pts - Cat 4)", climbs[2].String()) + assert.Equal(t, "51.9km-54.7km: 2.8km at 4.0% (45 pts - Cat 4)", climbs[3].String()) + assert.Equal(t, "86.7km-92.8km: 6.1km at 2.7% (44 pts - Cat 4)", climbs[4].String()) + assert.Equal(t, "114.1km-114.7km: 0.6km at 14.3% (118 pts - Cat 3)", climbs[5].String()) } -- cgit v1.2.3