github.com/supragya/TendermintConnector@v0.0.0-20210619045051-113e32b84fb1/_deprecated_chains/cosmos/libs/common/date_test.go (about)

     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  }