OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / tendermint / tmlibs / common / date_test.go
1 package common
2
3 import (
4         "testing"
5         "time"
6
7         "github.com/stretchr/testify/assert"
8 )
9
10 var (
11         date  = time.Date(2015, time.Month(12), 31, 0, 0, 0, 0, time.UTC)
12         date2 = time.Date(2016, time.Month(12), 31, 0, 0, 0, 0, time.UTC)
13         zero  time.Time
14 )
15
16 func TestParseDateRange(t *testing.T) {
17         assert := assert.New(t)
18
19         var testDates = []struct {
20                 dateStr string
21                 start   time.Time
22                 end     time.Time
23                 errNil  bool
24         }{
25                 {"2015-12-31:2016-12-31", date, date2, true},
26                 {"2015-12-31:", date, zero, true},
27                 {":2016-12-31", zero, date2, true},
28                 {"2016-12-31", zero, zero, false},
29                 {"2016-31-12:", zero, zero, false},
30                 {":2016-31-12", zero, zero, false},
31         }
32
33         for _, test := range testDates {
34                 start, end, err := ParseDateRange(test.dateStr)
35                 if test.errNil {
36                         assert.Nil(err)
37                         testPtr := func(want, have time.Time) {
38                                 assert.True(have.Equal(want))
39                         }
40                         testPtr(test.start, start)
41                         testPtr(test.end, end)
42                 } else {
43                         assert.NotNil(err)
44                 }
45         }
46 }