diff options
Diffstat (limited to 'ride')
| -rw-r--r-- | ride/parser_test.go | 36 | ||||
| -rw-r--r-- | ride/ride.go | 27 |
2 files changed, 18 insertions, 45 deletions
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) } |
