31 lines
530 B
Go
31 lines
530 B
Go
|
package bpool
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestBufferPool(t *testing.T) {
|
||
|
var size int = 4
|
||
|
|
||
|
bufPool := NewBufferPool(size)
|
||
|
|
||
|
// Test Get/Put
|
||
|
b := bufPool.Get()
|
||
|
bufPool.Put(b)
|
||
|
|
||
|
// Add some additional buffers beyond the pool size.
|
||
|
for i := 0; i < size*2; i++ {
|
||
|
bufPool.Put(bytes.NewBuffer([]byte{}))
|
||
|
}
|
||
|
|
||
|
// Close the channel so we can iterate over it.
|
||
|
close(bufPool.c)
|
||
|
|
||
|
// Check the size of the pool.
|
||
|
if len(bufPool.c) != size {
|
||
|
t.Fatalf("bufferpool size invalid: got %v want %v", len(bufPool.c), size)
|
||
|
}
|
||
|
|
||
|
}
|