clerk/journal/ast/ast_test.go (view raw)
| 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 := map[[2]Date]int{ |
| 12 | {jan1, jan1}: 0, |
| 13 | {jan2, jan1}: 1, |
| 14 | {jan1, jan2}: -1, |
| 15 | {feb1, jan2}: 1, |
| 16 | {jan2, feb1}: -1, |
| 17 | {nextYear, feb1}: 1, |
| 18 | {feb1, nextYear}: -1, |
| 19 | } |
| 20 | for dates, want := range tests { |
| 21 | if got := dates[0].Compare(dates[1]); got != want { |
| 22 | t.Errorf("Compare(%v, %v) = %d, want %d", dates[0], dates[1], got, want) |
| 23 | } |
| 24 | } |
| 25 | } |