feat: new put implementation

This commit is contained in:
2026-04-04 00:13:50 +02:00
parent 322d71f0be
commit 05b633afca
7 changed files with 111 additions and 67 deletions

View File

@@ -25,7 +25,7 @@ func TestAddItem(t *testing.T) {
key, value := 0, true
table := cuckoo.NewTable[int, bool]()
err := table.Put(key, value)
_, err := table.Put(key, value)
assert.NoError(err)
assert.Equal(1, table.Size())
@@ -38,7 +38,7 @@ func TestPutOverwrite(t *testing.T) {
table := cuckoo.NewTable[int, int]()
(table.Put(key, value))
err := table.Put(key, newValue)
_, err := table.Put(key, newValue)
assert.NoError(err)
assert.Equal(1, table.Size())
@@ -52,9 +52,9 @@ func TestSameHash(t *testing.T) {
hash := func(int) uint64 { return 0 }
table := cuckoo.NewCustomTable[int, bool](hash, hash, cuckoo.DefaultEqualFunc[int])
errA := table.Put(0, true)
errB := table.Put(1, true)
errC := table.Put(2, true)
_, errA := table.Put(0, true)
_, errB := table.Put(1, true)
_, errC := table.Put(2, true)
assert.NoError(errA)
assert.NoError(errB)
@@ -76,7 +76,7 @@ func TestResizeCapacity(t *testing.T) {
)
for table.TotalCapacity() == 16 {
err := table.Put(rand.Int(), true)
_, err := table.Put(rand.Int(), true)
assert.NoError(err)
}
@@ -89,7 +89,7 @@ func TestPutMany(t *testing.T) {
for i := range 1_000 {
expected[i] = true
err := actual.Put(i, true)
_, err := actual.Put(i, true)
assert.NoError(err)
}
@@ -103,7 +103,7 @@ func TestGetMany(t *testing.T) {
table := cuckoo.NewTable[int, bool]()
for i := range 1_000 {
err := table.Put(i, true)
_, err := table.Put(i, true)
assert.NoError(err)
}
@@ -168,7 +168,7 @@ func TestPutNoCapacity(t *testing.T) {
cuckoo.Capacity(0),
)
err := table.Put(key, value)
_, err := table.Put(key, value)
assert.NoError(err)
assert.Equal(1, table.Size())
@@ -184,9 +184,9 @@ func TestBadHashCapacity(t *testing.T) {
cuckoo.Capacity(20),
)
err1 := table.Put(0, true)
err2 := table.Put(1, true)
err3 := table.Put(2, true)
_, err1 := table.Put(0, true)
_, err2 := table.Put(1, true)
_, err3 := table.Put(2, true)
assert.NoError(err1)
assert.NoError(err2)
@@ -201,8 +201,8 @@ func TestDropResizeCapacity(t *testing.T) {
cuckoo.Capacity(10),
)
err1 := table.Put(0, true)
err2 := table.Put(1, true)
_, err1 := table.Put(0, true)
_, err2 := table.Put(1, true)
err3 := table.Drop(1)
assert.NoError(errors.Join(err1, err2, err3))
@@ -221,7 +221,7 @@ func TestNewTableBy(t *testing.T) {
func(u User) string { return u.id },
)
err := table.Put(User{nil, "1", "Robert"}, true)
_, err := table.Put(User{nil, "1", "Robert"}, true)
assert.NoError(err)
assert.Equal(1, table.Size())