From 5c26410b0f606996d66ebb4d5ecc18749e6a4d03 Mon Sep 17 00:00:00 2001 From: bel Date: Fri, 27 Oct 2023 07:43:01 -0600 Subject: [PATCH] prediction mvp woo --- ana/prediction.go | 2 +- ana/prediction_test.go | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ana/prediction.go b/ana/prediction.go index ef32d79..13f678b 100644 --- a/ana/prediction.go +++ b/ana/prediction.go @@ -23,7 +23,7 @@ func (prediction Prediction) predict(latest ledger.Balances, from time.Time, the for i := range these { k := these[i].Format("2006-01") result[k] = make(ledger.Balances) - for k2, v2 := range result[k] { + for k2, v2 := range latest { result[k][k2] = maps.Clone(v2) } diff --git a/ana/prediction_test.go b/ana/prediction_test.go index 454b8b4..d3544c2 100644 --- a/ana/prediction_test.go +++ b/ana/prediction_test.go @@ -44,7 +44,24 @@ func TestPredictionPredict(t *testing.T) { want: ledger.Register{theseK: {}}, }, "double": { - prediction: {double}, + prediction: Prediction{double}, + given: ledger.Balances{"X": ledger.Balance{"X": 2}}, + want: ledger.Register{theseK: ledger.Balances{"X": ledger.Balance{"X": 4}}}, + }, + "inc": { + prediction: Prediction{inc}, + given: ledger.Balances{"X": ledger.Balance{"X": 2}}, + want: ledger.Register{theseK: ledger.Balances{"X": ledger.Balance{"X": 3}}}, + }, + "inc, double": { + prediction: Prediction{inc, double}, + given: ledger.Balances{"X": ledger.Balance{"X": 5}}, + want: ledger.Register{theseK: ledger.Balances{"X": ledger.Balance{"X": 12}}}, + }, + "double, inc": { + prediction: Prediction{double, inc}, + given: ledger.Balances{"X": ledger.Balance{"X": 5}}, + want: ledger.Register{theseK: ledger.Balances{"X": ledger.Balance{"X": 11}}}, }, }