goProject/.svn/pristine/7b/7bc31082bb482c2353076eae6992fa4742b18f9e.svn-base
2025-01-06 16:21:36 +08:00

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
}
}