diff options
| -rw-r--r-- | official_climb/official_climb_test.go | 10 | ||||
| -rw-r--r-- | ride/parser_test.go | 36 | ||||
| -rw-r--r-- | ride/ride.go | 27 | ||||
| -rw-r--r-- | strava/sync_test.go | 14 | ||||
| -rw-r--r-- | web/server_test.go | 8 |
5 files changed, 35 insertions, 60 deletions
diff --git a/official_climb/official_climb_test.go b/official_climb/official_climb_test.go index 266581e..bd59efc 100644 --- a/official_climb/official_climb_test.go +++ b/official_climb/official_climb_test.go @@ -65,8 +65,8 @@ func TestMatchClimbMatchesWithoutDetectedClimb(t *testing.T) { ) official := official_climb.OfficialClimb{ Name: "On route", - StartCoord: parsed.Coord(1), - EndCoord: parsed.Coord(2), + StartCoord: parsed.Coords()[1], + EndCoord: parsed.Coords()[2], } matched, found := official_climb.MatchClimb(parsed.Coords(), official, official_climb.DefaultMatchRadiusM) require.True(t, found) @@ -111,8 +111,8 @@ func TestMatchClimbRejectsReversedEndpoints(t *testing.T) { ) official := official_climb.OfficialClimb{ Name: "Reversed", - StartCoord: parsed.Coord(2), - EndCoord: parsed.Coord(1), + StartCoord: parsed.Coords()[2], + EndCoord: parsed.Coords()[1], } _, found := official_climb.MatchClimb(parsed.Coords(), official, official_climb.DefaultMatchRadiusM) assert.False(t, found) @@ -133,7 +133,7 @@ func TestMatchClimbRejectsEndpointOutsideRadius(t *testing.T) { official := official_climb.OfficialClimb{ Name: "Too far", StartCoord: geodist.Coord{Lat: 43.09, Lon: 5.09}, - EndCoord: parsed.Coord(2), + EndCoord: parsed.Coords()[2], } _, found := official_climb.MatchClimb(parsed.Coords(), official, 10) assert.False(t, found) diff --git a/ride/parser_test.go b/ride/parser_test.go index c2d6719..d8ac4d6 100644 --- a/ride/parser_test.go +++ b/ride/parser_test.go @@ -24,7 +24,7 @@ func TestGPXRideParserSkipsStationaryPoints(t *testing.T) { parsed, err := (ride.GPXRideParser{}).Parse(strings.NewReader(data)) require.NoError(t, err) assert.Equal(t, 2, parsed.Len()) - assert.Greater(t, parsed.DistanceM(1), 0.0) + assert.Greater(t, parsed.Distances()[1], 0.0) } func TestGPXRideParserRejectsStationaryRide(t *testing.T) { @@ -57,15 +57,15 @@ func TestGPXRideParserReadsGarminMetrics(t *testing.T) { require.NoError(t, err) assert.Equal(t, 2, parsed.Len()) - heartRate, found := parsed.HeartRateBpm(1) - require.True(t, found) - assert.Equal(t, 92.0, heartRate) - cadence, found := parsed.CadenceRpm(1) - require.True(t, found) - assert.Equal(t, 72.0, cadence) - power, found := parsed.PowerW(1) - require.True(t, found) - assert.Equal(t, 202.0, power) + heartRates, ok := parsed.HeartRates() + require.True(t, ok) + assert.Equal(t, 92.0, heartRates[1]) + cadences, ok := parsed.Cadences() + require.True(t, ok) + assert.Equal(t, 72.0, cadences[1]) + powers, ok := parsed.Powers() + require.True(t, ok) + assert.Equal(t, 202.0, powers[1]) } func TestGPXRideParserDropsIncompleteMetricColumn(t *testing.T) { @@ -77,12 +77,12 @@ func TestGPXRideParserDropsIncompleteMetricColumn(t *testing.T) { parsed, err := (ride.GPXRideParser{}).Parse(strings.NewReader(data)) require.NoError(t, err) - _, found := parsed.CadenceRpm(0) - assert.False(t, found) - heartRate, found := parsed.HeartRateBpm(1) - require.True(t, found) - assert.Equal(t, 92.0, heartRate) - power, found := parsed.PowerW(1) - require.True(t, found) - assert.Equal(t, 0.0, power) + _, ok := parsed.Cadences() + assert.False(t, ok) + heartRates, ok := parsed.HeartRates() + require.True(t, ok) + assert.Equal(t, 92.0, heartRates[1]) + powers, ok := parsed.Powers() + require.True(t, ok) + assert.Equal(t, 0.0, powers[1]) } diff --git a/ride/ride.go b/ride/ride.go index a694df9..1de8b07 100644 --- a/ride/ride.go +++ b/ride/ride.go @@ -59,26 +59,6 @@ func (r Ride) Cadences() ([]float64, bool) { return optionalComponent(r.cadences func (r Ride) HeartRates() ([]float64, bool) { return optionalComponent(r.heartRates) } -func (r Ride) DistanceM(i int) float64 { return r.distances[i] } - -func (r Ride) ElevationM(i int) float64 { return r.elevations[i] } - -func (r Ride) Coord(i int) geodist.Coord { return r.coords[i] } - -func (r Ride) Timestamp(i int) time.Time { return r.timestamps[i] } - -func (r Ride) HeartRateBpm(i int) (float64, bool) { - return optionalMetric(r.heartRates, i) -} - -func (r Ride) CadenceRpm(i int) (float64, bool) { - return optionalMetric(r.cadences, i) -} - -func (r Ride) PowerW(i int) (float64, bool) { - return optionalMetric(r.powers, i) -} - func optionalComponent(column []float64) ([]float64, bool) { if len(column) == 0 { return nil, false @@ -86,13 +66,6 @@ func optionalComponent(column []float64) ([]float64, bool) { return column, true } -func optionalMetric(column []float64, i int) (float64, bool) { - if len(column) == 0 { - return 0, false - } - return column[i], true -} - type RideParser interface { Parse(reader io.Reader) (Ride, error) } diff --git a/strava/sync_test.go b/strava/sync_test.go index 9223c95..abc3d0e 100644 --- a/strava/sync_test.go +++ b/strava/sync_test.go @@ -103,13 +103,15 @@ func TestGet(t *testing.T) { parsedRide, err := (ride.GPXRideParser{}).Parse(bytes.NewReader(gpxData)) require.NoError(t, err) assert.Equal(t, 2, parsedRide.Len()) - heartRateValue, found := parsedRide.HeartRateBpm(1) - require.True(t, found) + heartRates, ok := parsedRide.HeartRates() + require.True(t, ok) + heartRateValue := heartRates[1] assert.Equal(t, 91.0, heartRateValue) - _, found = parsedRide.CadenceRpm(0) - assert.False(t, found) - powerValue, found := parsedRide.PowerW(1) - require.True(t, found) + _, ok = parsedRide.Cadences() + assert.False(t, ok) + powers, ok := parsedRide.Powers() + require.True(t, ok) + powerValue := powers[1] assert.Equal(t, 0.0, powerValue) } diff --git a/web/server_test.go b/web/server_test.go index b3f6028..9ee578e 100644 --- a/web/server_test.go +++ b/web/server_test.go @@ -234,8 +234,8 @@ func TestBuildRideProfileIncludesOfficialClimbMatch(t *testing.T) { profile := buildRideProfile(parsed, nil, []official_climb.OfficialClimb{{ ID: 42, Name: "Col de Test", - StartCoord: parsed.Coord(0), - EndCoord: parsed.Coord(1), + StartCoord: parsed.Coords()[0], + EndCoord: parsed.Coords()[1], }}, official_climb.DefaultMatchPolicy()) require.Len(t, profile.Climbs, 1) @@ -256,8 +256,8 @@ func TestBuildRideProfileUsesOfficialClimbBoundaries(t *testing.T) { profile := buildRideProfile(parsed, nil, []official_climb.OfficialClimb{{ ID: 42, Name: "Col de Test", - StartCoord: parsed.Coord(0), - EndCoord: parsed.Coord(2), + StartCoord: parsed.Coords()[0], + EndCoord: parsed.Coords()[2], }}, official_climb.DefaultMatchPolicy()) require.Len(t, profile.Climbs, 1) |
