all repos

clerk @ 5b3ebfb6923c19318cff4e00c82d69e7490fc357

missing tooling for ledger/hledger

clerk/journal/ast/ast_test.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
lsp: completion, 2 months ago
1
package ast
2
3
import "testing"
4
5
func TestDateCompare(t *testing.T) {
6
	jan1 := Date{Year: 2024, Month: 1, Day: 1}
7
	jan2 := Date{Year: 2024, Month: 1, Day: 2}
8
	feb1 := Date{Year: 2024, Month: 2, Day: 1}
9
	nextYear := Date{Year: 2025, Month: 1, Day: 1}
10
11
	tests := []struct {
12
		a, b Date
13
		want int
14
	}{
15
		{jan1, jan1, 0},
16
		{jan2, jan1, 1},
17
		{jan1, jan2, -1},
18
		{feb1, jan2, 1},
19
		{jan2, feb1, -1},
20
		{nextYear, feb1, 1},
21
		{feb1, nextYear, -1},
22
	}
23
	for _, c := range tests {
24
		if got := c.a.Compare(c.b); got != c.want {
25
			t.Errorf("Compare(%v, %v) = %d, want %d", c.a, c.b, got, c.want)
26
		}
27
	}
28
}