| 23 | } |
| 24 | |
| 25 | func TestHashCollision(t *testing.T) { |
| 26 | m := New[string, int]() |
| 27 | |
| 28 | staticHasher := func(key string) uintptr { |
| 29 | return 4 // chosen by fair dice roll. guaranteed to be random. |
| 30 | } |
| 31 | |
| 32 | m.SetHasher(staticHasher) |
| 33 | |
| 34 | inserted := m.Insert("1", 1) |
| 35 | assert.True(t, inserted) |
| 36 | inserted = m.Insert("2", 2) |
| 37 | assert.True(t, inserted) |
| 38 | |
| 39 | value, ok := m.Get("1") |
| 40 | assert.True(t, ok) |
| 41 | assert.Equal(t, 1, value) |
| 42 | |
| 43 | value, ok = m.Get("2") |
| 44 | assert.True(t, ok) |
| 45 | assert.Equal(t, 2, value) |
| 46 | } |
| 47 | |
| 48 | func TestAliasTypeSupport(t *testing.T) { |
| 49 | type alias uintptr |