package cuckoo import ( "math" "testing" "github.com/stretchr/testify/assert" ) func TestMaxEvictions(t *testing.T) { assert := assert.New(t) for i := 16; i < 116; i++ { table := NewTable[int, bool](Capacity(i / 2)) expectedEvictions := 3 * math.Floor(math.Log2(float64(i))) assert.Equal(table.maxEvictions(), int(expectedEvictions)) } } func TestLoad(t *testing.T) { assert := assert.New(t) table := NewTable[int, bool](Capacity(8)) for i := range 16 { err := table.Put(i, true) assert.NoError(err) assert.Equal(float64(table.Size())/float64(table.TotalCapacity()), table.load()) } }