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
|
result[delta.Name][delta.Currency] += delta.Value
|
||||||
if result[delta.Name][delta.Currency] < 0.000000001 && result[delta.Name][delta.Currency] > -0.000000001 {
|
if result[delta.Name][delta.Currency] < 0.000000001 && result[delta.Name][delta.Currency] > -0.000000001 {
|
||||||
delete(result[delta.Name], delta.Currency)
|
delete(result[delta.Name], delta.Currency)
|
||||||
|
if len(result[delta.Name]) == 0 {
|
||||||
|
delete(result, delta.Name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,23 @@ package ledger
|
||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestDeltas(t *testing.T) {
|
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) {
|
t.Run("register", func(t *testing.T) {
|
||||||
deltas := Deltas{
|
deltas := Deltas{
|
||||||
{Date: "a", Value: 0.1},
|
{Date: "a", Value: 0.1},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue