Bladeren bron

Add tests

Lucas Stadler 9 jaren geleden
bovenliggende
commit
78d990342b
1 gewijzigde bestanden met toevoegingen van 40 en 0 verwijderingen
  1. 40 0
      go/remind/remind_test.go

+ 40 - 0
go/remind/remind_test.go

@ -0,0 +1,40 @@
1
package main
2
3
import (
4
	"testing"
5
	"time"
6
)
7
8
func TestParse(t *testing.T) {
9
	now := time.Now()
10
11
	examples := []struct {
12
		Input  string
13
		Result time.Time
14
	}{
15
		{"today", now},
16
		{"tomorrow", now.AddDate(0, 0, 1)},
17
		//"tomorrow at 3am"
18
		{"in 3 days", now.AddDate(0, 0, 3)},
19
		{"in a month", now.AddDate(0, 1, 0)},
20
		{"in 3 months", now.AddDate(0, 3, 0)},
21
		{"next week", now.AddDate(0, 0, 7)},
22
		{"next month", now.AddDate(0, 1, 0)},
23
		{"in two weeks", now.AddDate(0, 0, 2*7)},
24
		{"in 3 weeks", now.AddDate(0, 0, 3*7)},
25
		//"2016-09-28",
26
		//"3pm",
27
		//"in 4 days at 10 pm",
28
	}
29
30
	for _, example := range examples {
31
		res, err := parseTimeRelative(example.Input, now)
32
		if err != nil {
33
			t.Errorf("parse '%s': unexpected error: %s", err)
34
		}
35
36
		if !res.Equal(example.Result) {
37
			t.Errorf("parse '%s': %s != %s", example.Input, res, example.Result)
38
		}
39
	}
40
}