YAY
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package ledger
|
package ledger
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
type Currency string
|
type Currency string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -32,3 +34,7 @@ func (delta Delta) Plus(other Delta) Delta {
|
|||||||
Currency: other.Currency,
|
Currency: other.Currency,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (delta Delta) Debug() string {
|
||||||
|
return fmt.Sprintf("{@%s %s:\"%s\" %.2f %s}", delta.Date, delta.Account, delta.Description, delta.Value, delta.Currency)
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,10 +3,35 @@ package ledger
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func TestFileTestdata(t *testing.T) {
|
||||||
|
paths, err := filepath.Glob("./testdata/*")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pathd := range paths {
|
||||||
|
path := pathd
|
||||||
|
t.Run(path, func(t *testing.T) {
|
||||||
|
f, err := NewFile(path)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
transactions, err := f.Deltas()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
for i := range transactions {
|
||||||
|
t.Logf("%+v", transactions[i].Debug())
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestFileDeltas(t *testing.T) {
|
func TestFileDeltas(t *testing.T) {
|
||||||
happy := []Delta{
|
happy := []Delta{
|
||||||
{
|
{
|
||||||
@@ -66,7 +91,7 @@ func TestFileDeltas(t *testing.T) {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
if want[i] != deltas[i] {
|
if want[i] != deltas[i] {
|
||||||
t.Errorf("[%d] \n\twant=%+v, \n\t got=%+v", i, want[i], deltas[i])
|
t.Errorf("[%d] \n\twant=%s, \n\t got=%s", i, want[i].Debug(), deltas[i].Debug())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user