aboutsummaryrefslogtreecommitdiff
path: root/ride
diff options
context:
space:
mode:
Diffstat (limited to 'ride')
-rw-r--r--ride/parser_test.go36
-rw-r--r--ride/ride.go27
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)
}