github.com/lingyao2333/mo-zero@v1.4.1/core/syncx/limit_test.go (about)

     1  package syncx
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestLimit(t *testing.T) {
    10  	limit := NewLimit(2)
    11  	limit.Borrow()
    12  	assert.True(t, limit.TryBorrow())
    13  	assert.False(t, limit.TryBorrow())
    14  	assert.Nil(t, limit.Return())
    15  	assert.Nil(t, limit.Return())
    16  	assert.Equal(t, ErrLimitReturn, limit.Return())
    17  }