github.com/jackc/pgx/v5@v5.5.5/internal/iobufpool/iobufpool_internal_test.go (about) 1 package iobufpool 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestPoolIdx(t *testing.T) { 10 tests := []struct { 11 size int 12 expected int 13 }{ 14 {size: 0, expected: 0}, 15 {size: 1, expected: 0}, 16 {size: 255, expected: 0}, 17 {size: 256, expected: 0}, 18 {size: 257, expected: 1}, 19 {size: 511, expected: 1}, 20 {size: 512, expected: 1}, 21 {size: 513, expected: 2}, 22 {size: 1023, expected: 2}, 23 {size: 1024, expected: 2}, 24 {size: 1025, expected: 3}, 25 {size: 2047, expected: 3}, 26 {size: 2048, expected: 3}, 27 {size: 2049, expected: 4}, 28 {size: 8388607, expected: 15}, 29 {size: 8388608, expected: 15}, 30 {size: 8388609, expected: 16}, 31 } 32 for _, tt := range tests { 33 idx := getPoolIdx(tt.size) 34 assert.Equalf(t, tt.expected, idx, "size: %d", tt.size) 35 } 36 }