1234567891011121314151617181920212223242526272829303132333435363738 |
- package iox
- import (
- "bytes"
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func TestBufferPool(t *testing.T) {
- capacity := 1024
- pool := NewBufferPool(capacity)
- pool.Put(bytes.NewBuffer(make([]byte, 0, 2*capacity)))
- assert.True(t, pool.Get().Cap() <= capacity)
- }
- func TestBufferPool_Put(t *testing.T) {
- t.Run("with nil buf", func(t *testing.T) {
- pool := NewBufferPool(1024)
- pool.Put(nil)
- val := pool.Get()
- assert.IsType(t, new(bytes.Buffer), val)
- })
- t.Run("with less-cap buf", func(t *testing.T) {
- pool := NewBufferPool(1024)
- pool.Put(bytes.NewBuffer(make([]byte, 0, 512)))
- val := pool.Get()
- assert.IsType(t, new(bytes.Buffer), val)
- })
- t.Run("with more-cap buf", func(t *testing.T) {
- pool := NewBufferPool(1024)
- pool.Put(bytes.NewBuffer(make([]byte, 0, 1024<<1)))
- val := pool.Get()
- assert.IsType(t, new(bytes.Buffer), val)
- })
- }
|