aboutsummaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-20 18:19:22 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-20 18:19:22 +0200
commit3c8dbdbbb13ca233bd03466de2f0ea4fc4be38d4 (patch)
tree9279ce849abfc29197cfeb3d91531504562dfc84 /cli
parent8af7f81622ce5505f4c29ac24d63f4261e845f52 (diff)
chore(bench): exclude rides under 10 km
Diffstat (limited to 'cli')
-rw-r--r--cli/cli.go6
-rw-r--r--cli/cli_test.go6
2 files changed, 6 insertions, 6 deletions
diff --git a/cli/cli.go b/cli/cli.go
index 4459946..cac29ec 100644
--- a/cli/cli.go
+++ b/cli/cli.go
@@ -32,7 +32,7 @@ var (
backtest = flag.Bool("backtest", false, "run data benchmarks comparing computed values against stored reference values")
)
-const backtestMinimumElapsedTimeS = 15 * 60
+const backtestMinimumDistanceM = 10_000
func Run(db *sql.DB, configPath string, appConfig config.Config) {
switch {
@@ -134,12 +134,12 @@ func runBacktest(db *sql.DB) error {
fmt.Fprintf(table, "p%g\t%.1f\n", p, distribution[p])
}
table.Flush()
- slog.Info("Moving time backtest", "rides", len(samples), "min_elapsed_s", backtestMinimumElapsedTimeS, "mean_err_pct", math.Round(meanAbsErr(absErrors)*10)/10, "stderr_pct", math.Round(stdErrAbsErr(absErrors)*10)/10)
+ slog.Info("Moving time backtest", "rides", len(samples), "min_distance_m", backtestMinimumDistanceM, "mean_err_pct", math.Round(meanAbsErr(absErrors)*10)/10, "stderr_pct", math.Round(stdErrAbsErr(absErrors)*10)/10)
return nil
}
func isBacktestEligible(item rides.Ride) bool {
- return item.GPXPath != "" && item.ElapsedTimeS >= backtestMinimumElapsedTimeS && item.MovingTimeS > 0
+ return item.GPXPath != "" && item.DistanceM >= backtestMinimumDistanceM && item.MovingTimeS > 0
}
func meanAbsErr(absErrors []float64) float64 {
diff --git a/cli/cli_test.go b/cli/cli_test.go
index ae59c6c..6a3e148 100644
--- a/cli/cli_test.go
+++ b/cli/cli_test.go
@@ -7,9 +7,9 @@ import (
"github.com/stretchr/testify/assert"
)
-func TestBacktestEligibilityExcludesShortRides(t *testing.T) {
- short := rides.Ride{GPXPath: "ride.gpx", ElapsedTimeS: 15*60 - 1, MovingTimeS: 1}
- minimum := rides.Ride{GPXPath: "ride.gpx", ElapsedTimeS: 15 * 60, MovingTimeS: 1}
+func TestBacktestEligibilityExcludesShortDistances(t *testing.T) {
+ short := rides.Ride{GPXPath: "ride.gpx", DistanceM: 10_000 - 1, MovingTimeS: 1}
+ minimum := rides.Ride{GPXPath: "ride.gpx", DistanceM: 10_000, MovingTimeS: 1}
assert.False(t, isBacktestEligible(short))
assert.True(t, isBacktestEligible(minimum))