wip
This commit is contained in:
43
ana/predictor_test.go
Normal file
43
ana/predictor_test.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package ana
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"gogs.inhome.blapointe.com/ana-ledger/ledger"
|
||||
)
|
||||
|
||||
func TestNewInterestPredictor(t *testing.T) {
|
||||
name := "x"
|
||||
curr := ledger.USD
|
||||
cases := map[string]struct {
|
||||
apy float64
|
||||
given ledger.Balances
|
||||
delta time.Duration
|
||||
want ledger.Balances
|
||||
}{
|
||||
"zero": {
|
||||
apy: 0,
|
||||
given: ledger.Balances{name: ledger.Balance{curr: 100}},
|
||||
delta: time.Hour * 24 * 365,
|
||||
want: ledger.Balances{name: ledger.Balance{curr: 100}},
|
||||
},
|
||||
"100%": {
|
||||
apy: 1,
|
||||
given: ledger.Balances{name: ledger.Balance{curr: 100}},
|
||||
delta: time.Hour * 24 * 365,
|
||||
want: ledger.Balances{name: ledger.Balance{curr: 200}},
|
||||
},
|
||||
}
|
||||
|
||||
for name, d := range cases {
|
||||
c := d
|
||||
t.Run(name, func(t *testing.T) {
|
||||
predictor := NewInterestPredictor(name, string(curr), c.apy)
|
||||
got := predictor(c.given, c.delta)
|
||||
if got.Debug() != c.want.Debug() {
|
||||
t.Errorf("want\n\t%+v, got\n\t%+v", c.want, got)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user