Fixed flakty pool test.
@@ -20,59 +20,31 @@ import (
)
func makeFunc(size int) interface{} {
- return size
+ return make([]int, 0, size)
}
-func TestGet(t *testing.T) {
+func TestPool(t *testing.T) {
testPool := New(1, 8, 2, makeFunc)
cases := []struct {
size int
- expected int
+ expectedCap int
}{
{
size: -1,
- expected: 1,
+ expectedCap: 1,
},
{
size: 3,
- expected: 4,
+ expectedCap: 4,
},
{
size: 10,
- expected: 10,
+ expectedCap: 10,
},
}
for _, c := range cases {
ret := testPool.Get(c.size)
- testutil.Equals(t, c.expected, ret)
- }
-}
-
-func TestPut(t *testing.T) {
- testPool := New(1, 8, 2, makeFunc)
- cases := []struct {
- slice []int
- size int
- expected interface{}
- }{
- {
- slice: make([]int, 1),
- size: 1,
- expected: []int{},
- },
- {
- slice: make([]int, 8),
- size: 8,
- expected: []int{},
- },
- {
- slice: nil,
- size: 2,
- expected: 2,
- },
- }
- for _, c := range cases {
- testPool.Put(c.slice)
- testutil.Equals(t, c.expected, testPool.Get(c.size))
+ testutil.Equals(t, c.expectedCap, cap(ret.([]int)))
+ testPool.Put(ret)
}
}
