aboutsummaryrefslogtreecommitdiff
path: root/go/util/bytes_pool_test.go
blob: 3f37c16cfbccf102596dbf234248512c96b76e45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package util

import (
	"testing"
)

func TestTTLReadWrite(t *testing.T) {
	var tests = []struct {
		n        int // input
		expected int // expected result
	}{
		{0, -1},
		{1, 0},
		{1 << 4, 0},
		{1 << 6, 1},
		{1 << 8, 2},
		{1 << 10, 3},
		{1 << 12, 4},
		{1 << 14, 5},
		{1 << 16, 6},
		{1 << 18, 7},
		{1<<4 + 1, 1},
		{1<<6 + 1, 2},
		{1<<8 + 1, 3},
		{1<<10 + 1, 4},
		{1<<12 + 1, 5},
		{1<<14 + 1, 6},
		{1<<16 + 1, 7},
		{1<<18 + 1, 8},
		{1<<28 - 1, 12},
		{1 << 28, 12},
		{1<<28 + 2134, -1},
		{1080, 4},
	}
	for _, tt := range tests {
		actual := findChunkPoolIndex(tt.n)
		if actual != tt.expected {
			t.Errorf("findChunkPoolIndex(%d): expected %d, actual %d", tt.n, tt.expected, actual)
		}
	}
}