Files
go-utils/timeutil/diff_test.go
2023-11-06 14:11:20 +08:00

58 lines
2.4 KiB
Go

package util
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func parseDate(str string) time.Time {
t, _ := time.Parse(DateLayout, str)
return t
}
func toSecond(str string) int64 {
t, _ := time.Parse(DateLayout, str)
return t.Unix()
}
func TestDifferenceDays(t *testing.T) {
assert.Equal(t, StringDifferenceDays("2017-09-01", "2017-09-01"), 0)
assert.Equal(t, StringDifferenceDays("2017-09-01", "2017-09-02"), 1)
assert.Equal(t, StringDifferenceDays("2017-09-01", "2017-09-03"), 2)
assert.Equal(t, StringDifferenceDays("2017-09-01", "2017-09-04"), 3)
assert.Equal(t, StringDifferenceDays("2017-09-01", "2018-03-11"), 191)
assert.True(t, (StringDifferenceDays("2017-09-01", "2017-09-01")) == 0)
assert.True(t, (StringDifferenceDays("2017-09-01", "2017-09-02"))%1 == 0)
assert.True(t, (StringDifferenceDays("2017-09-01", "2017-09-03"))%2 == 0)
}
func TestTimeDifferenceDays(t *testing.T) {
assert.Equal(t, TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2017-09-01")), 0)
assert.Equal(t, TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2017-09-02")), 1)
assert.Equal(t, TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2017-09-03")), 2)
assert.Equal(t, TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2017-09-04")), 3)
assert.Equal(t, TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2018-03-11")), 191)
assert.True(t, (TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2017-09-01"))) == 0)
assert.True(t, (TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2017-09-02")))%1 == 0)
assert.True(t, (TimeDifferenceDays(parseDate("2017-09-01"), parseDate("2017-09-03")))%2 == 0)
}
func TestSecondsDifferenceDays(t *testing.T) {
assert.Equal(t, SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2017-09-01")), 0)
assert.Equal(t, SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2017-09-02")), 1)
assert.Equal(t, SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2017-09-03")), 2)
assert.Equal(t, SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2017-09-04")), 3)
assert.Equal(t, SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2018-03-11")), 191)
assert.True(t, (SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2017-09-01"))) == 0)
assert.True(t, (SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2017-09-02")))%1 == 0)
assert.True(t, (SecondsDifferenceDays(toSecond("2017-09-01"), toSecond("2017-09-03")))%2 == 0)
}