diff --git a/compare_example_test.go b/compare_example_test.go index 363bab7..b41cb3e 100644 --- a/compare_example_test.go +++ b/compare_example_test.go @@ -13,11 +13,22 @@ import ( func ExampleEqualFunc_badEqualFunc() { type User struct{ ID, Name string } + makeHash := func(seed uint64) cuckoo.Hash[User] { + return func(u User) uint64 { + digest := seed + + for _, c := range u.ID + u.Name { + digest ^= uint64(c) + } + + return digest + } + } + // Two users with the same ID are equal. isEqual := func(a, b User) bool { return a.ID == b.ID } - hashA, hashB := cuckoo.NewDefaultHash[User](), cuckoo.NewDefaultHash[User]() - userbase := cuckoo.NewCustomTable[User, bool](hashA, hashB, isEqual) + userbase := cuckoo.NewCustomTable[User, bool](makeHash(1), makeHash(2), isEqual) (userbase.Put(User{"1", "Robert Doe"}, true))