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  }