aboutsummaryrefslogtreecommitdiffstats
path: root/record/bulder/builder_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'record/bulder/builder_test.go')
-rw-r--r--record/bulder/builder_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/record/bulder/builder_test.go b/record/bulder/builder_test.go
index 2fa30e9..6fb525d 100644
--- a/record/bulder/builder_test.go
+++ b/record/bulder/builder_test.go
@@ -49,3 +49,44 @@ func TestRead(t *testing.T) {
}
}
}
+
+func TestRead2(t *testing.T) {
+ // Different format
+ in := `Dato;Inn på konto;Ut fra konto;Til konto;Til kontonummer;Fra konto;Fra kontonummer;Type;Tekst;KID;Hovedkategori;Underkategori
+2022-10-25;;-1050,00;;til kontonr. 11;fra konto 1;til kontonr. 1;Betaling;Vare 1;min kid;kategori 1;underkategori 1
+2022-10-25;;-2500,00;min konto 22;mitt kontonr. 2;fra konto 2;fra kontonr. 2;Betaling;Nedbetaling Lån;;Hus og hjem;Lån
+`
+ r := NewReader(strings.NewReader(in))
+ rs, err := r.Read()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var tests = []struct {
+ t time.Time
+ text string
+ amount int64
+ balance int64
+ }{
+ {date(2022, 10, 25), "Betaling,Vare 1,kategori 1,underkategori 1", -105000, 0},
+ {date(2022, 10, 25), "Betaling,Nedbetaling Lån,Hus og hjem,Lån", -250000, 0},
+ }
+ if len(rs) != len(tests) {
+ t.Fatalf("want %d records, got %d", len(tests), len(rs))
+ }
+
+ for i, tt := range tests {
+ if !rs[i].Time.Equal(tt.t) {
+ t.Errorf("#%d: want Time = %s, got %s", i, tt.t, rs[i].Time)
+ }
+ if rs[i].Text != tt.text {
+ t.Errorf("#%d: want Text = %q, got %q", i, tt.text, rs[i].Text)
+ }
+ if rs[i].Amount != tt.amount {
+ t.Errorf("#%d: want Amount = %d, got %d", i, tt.amount, rs[i].Amount)
+ }
+ if rs[i].Balance != tt.balance {
+ t.Errorf("#%d: want Balance = %d, got %d", i, tt.balance, rs[i].Balance)
+ }
+ }
+}