github.com/lingyao2333/mo-zero@v1.4.1/core/utils/times_test.go (about) 1 package utils 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 const sleepInterval = time.Millisecond * 10 11 12 func TestElapsedTimer_Duration(t *testing.T) { 13 timer := NewElapsedTimer() 14 time.Sleep(sleepInterval) 15 assert.True(t, timer.Duration() >= sleepInterval) 16 } 17 18 func TestElapsedTimer_Elapsed(t *testing.T) { 19 timer := NewElapsedTimer() 20 time.Sleep(sleepInterval) 21 duration, err := time.ParseDuration(timer.Elapsed()) 22 assert.Nil(t, err) 23 assert.True(t, duration >= sleepInterval) 24 } 25 26 func TestElapsedTimer_ElapsedMs(t *testing.T) { 27 timer := NewElapsedTimer() 28 time.Sleep(sleepInterval) 29 duration, err := time.ParseDuration(timer.ElapsedMs()) 30 assert.Nil(t, err) 31 assert.True(t, duration >= sleepInterval) 32 } 33 34 func TestCurrent(t *testing.T) { 35 currentMillis := CurrentMillis() 36 currentMicros := CurrentMicros() 37 assert.True(t, currentMillis > 0) 38 assert.True(t, currentMicros > 0) 39 assert.True(t, currentMillis*1000 <= currentMicros) 40 }