228 lines
3.4 KiB
Plaintext
228 lines
3.4 KiB
Plaintext
|
|
package timeUtil
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
"time"
|
||
|
|
)
|
||
|
|
|
||
|
|
// 检查是否在范围内的常规测试
|
||
|
|
func TestCheckIfInRange(t *testing.T) {
|
||
|
|
// Check with correct data
|
||
|
|
timeSpan1 := "13:00:00"
|
||
|
|
timeSpan2 := "21:00:00"
|
||
|
|
|
||
|
|
t1, err := ToDateTime("2017-09-04 15:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange(t1, timeSpan1, 0, timeSpan2, 0) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange(t1, timeSpan2, 0, timeSpan1, 0) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange(t1, timeSpan1, 0, timeSpan2, 5) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange(t1, timeSpan2, 0, timeSpan1, 5) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// Check with incorrect data
|
||
|
|
t1, err = ToDateTime("2017-09-04 22:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange(t1, timeSpan1, 0, timeSpan2, 0) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange(t1, timeSpan2, 0, timeSpan1, 0) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestCheckIfInRange2(t *testing.T) {
|
||
|
|
timeSpan1 := "13:00:00"
|
||
|
|
timeSpan2 := "21:00:00"
|
||
|
|
|
||
|
|
t1, err := ToDateTime("2017-09-04 15:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange2(t1, timeSpan1, timeSpan2) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange2(t1, timeSpan2, timeSpan1) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange2(t1, timeSpan1, timeSpan2) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange2(t1, timeSpan2, timeSpan1) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
t1, err = ToDateTime("2017-09-04 22:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange2(t1, timeSpan1, timeSpan2) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInRange2(t1, timeSpan2, timeSpan1) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestCheckIfInSameDate(t *testing.T) {
|
||
|
|
// Check with the same date time
|
||
|
|
t1, err := ToDateTime("2017-09-04 00:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
t2, err := ToDateTime("2017-09-04 15:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInSameDate(t1, t2) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
// Check with different date time
|
||
|
|
t2, err = ToDateTime("2019-12-26 15:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if CheckIfInSameDate(t1, t2) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestAfter(t *testing.T) {
|
||
|
|
// Check with the same date time
|
||
|
|
t1, err := ToDateTime("2017-09-04 02:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
t1 = t1.In(time.UTC)
|
||
|
|
|
||
|
|
t2, err := ToDateTime("2017-09-04 01:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
t2 = t2.In(time.Local)
|
||
|
|
|
||
|
|
if After(t2, t1) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if After(t1, t2) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestBefore(t *testing.T) {
|
||
|
|
// Check with the same date time
|
||
|
|
t1, err := ToDateTime("2017-09-04 02:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
t1 = t1.In(time.UTC)
|
||
|
|
|
||
|
|
t2, err := ToDateTime("2017-09-04 01:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
t2 = t2.In(time.Local)
|
||
|
|
|
||
|
|
if Before(t2, t1) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if Before(t1, t2) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestEqual(t *testing.T) {
|
||
|
|
// Check with the same date time
|
||
|
|
t1, err := ToDateTime("2017-09-04 02:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
t1 = t1.In(time.UTC)
|
||
|
|
|
||
|
|
t2, err := ToDateTime("2017-09-04 01:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
t2 = t2.In(time.Local)
|
||
|
|
|
||
|
|
t3, err := ToDateTime("2017-09-04 01:00:00")
|
||
|
|
if err != nil {
|
||
|
|
t.Error(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if Equal(t2, t1) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if Equal(t1, t2) {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
if Equal(t2, t3) == false {
|
||
|
|
t.Fail()
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|