test balances zeroing and unzeroing
parent
fb2ed278c2
commit
0b945df7e8
|
|
@ -50,6 +50,9 @@ func (deltas Deltas) Balances() Balances {
|
|||
result[delta.Name][delta.Currency] += delta.Value
|
||||
if result[delta.Name][delta.Currency] < 0.000000001 && result[delta.Name][delta.Currency] > -0.000000001 {
|
||||
delete(result[delta.Name], delta.Currency)
|
||||
if len(result[delta.Name]) == 0 {
|
||||
delete(result, delta.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,23 @@ package ledger
|
|||
import "testing"
|
||||
|
||||
func TestDeltas(t *testing.T) {
|
||||
t.Run("balances", func(t *testing.T) {
|
||||
deltas := Deltas{
|
||||
{Name: "a", Value: 0},
|
||||
{Name: "b", Value: 1},
|
||||
{Name: "b", Value: -.999999999999999999999999},
|
||||
{Name: "b", Value: 1.3},
|
||||
}
|
||||
|
||||
balances := deltas.Balances()
|
||||
if len(balances) != 1 {
|
||||
t.Error(len(balances), balances)
|
||||
}
|
||||
if balances["b"][""] != 1.3 {
|
||||
t.Error(balances["b"])
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("register", func(t *testing.T) {
|
||||
deltas := Deltas{
|
||||
{Date: "a", Value: 0.1},
|
||||
|
|
|
|||
Loading…
Reference in New Issue