diff --git a/ledger/file_test.go b/ledger/file_test.go index db4089a..677538f 100644 --- a/ledger/file_test.go +++ b/ledger/file_test.go @@ -6,21 +6,11 @@ import ( ) func TestFileDeltas(t *testing.T) { - f, err := NewFile("./testdata/happy.dat") - if err != nil { - t.Fatal(err) - } - - deltas, err := f.Deltas() - if err != nil { - t.Fatal(err) - } - d := func(s string) time.Time { v, _ := time.Parse("2006-01-02", s) return v } - want := []Delta{ + happy := []Delta{ { Date: d("2022-12-12"), Account: "AssetAccount:Cash:Fidelity76", @@ -47,12 +37,33 @@ func TestFileDeltas(t *testing.T) { }, } - if len(deltas) != len(want) { - t.Error(len(deltas)) + cases := map[string][]Delta{ + "empty": nil, + "one": happy[:2], + "happy": happy[:], } - for i := range want { - if want[i] != deltas[i] { - t.Errorf("[%d] \n\twant=%+v, \n\t got=%+v", i, want[i], deltas[i]) - } + + for name, d := range cases { + want := d + t.Run(name, func(t *testing.T) { + f, err := NewFile("./testdata/" + name + ".dat") + if err != nil { + t.Fatal(err) + } + + deltas, err := f.Deltas() + if err != nil { + t.Fatal(err) + } + + if len(deltas) != len(want) { + t.Error(len(deltas)) + } + for i := range want { + if want[i] != deltas[i] { + t.Errorf("[%d] \n\twant=%+v, \n\t got=%+v", i, want[i], deltas[i]) + } + } + }) } } diff --git a/ledger/testdata/empty.dat b/ledger/testdata/empty.dat new file mode 100644 index 0000000..e69de29 diff --git a/ledger/testdata/one.dat b/ledger/testdata/one.dat new file mode 100644 index 0000000..f712a0a --- /dev/null +++ b/ledger/testdata/one.dat @@ -0,0 +1,3 @@ +2022-12-12 Electricity / Power Bill TG2PJ-2PLP5 OK + AssetAccount:Cash:Fidelity76 $-97.92 + Withdrawal:0:SharedHome:DominionEnergy