mirror of
https://github.com/duke-git/lancet.git
synced 2025-10-05 07:26:51 +08:00
55 lines
998 B
Go
55 lines
998 B
Go
package datastructure
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/duke-git/lancet/v2/internal"
|
|
)
|
|
|
|
func TestHashMap_PutAndGet(t *testing.T) {
|
|
assert := internal.NewAssert(t, "TestHashMap_PutAndGet")
|
|
|
|
hm := NewHashMap()
|
|
|
|
hm.Put("abc", 3)
|
|
assert.Equal(3, hm.Get("abc"))
|
|
assert.IsNil(hm.Get("abcd"))
|
|
|
|
hm.Put("abc", 4)
|
|
assert.Equal(4, hm.Get("abc"))
|
|
}
|
|
|
|
func TestHashMap_Resize(t *testing.T) {
|
|
assert := internal.NewAssert(t, "TestHashMap_Resize")
|
|
|
|
hm := NewHashMapWithCapacity(3, 3)
|
|
|
|
for i := 0; i < 20; i++ {
|
|
hm.Put(i, 10)
|
|
}
|
|
|
|
assert.Equal(10, hm.Get(5))
|
|
}
|
|
|
|
func TestHashMap_Delete(t *testing.T) {
|
|
assert := internal.NewAssert(t, "TestHashMap_Delete")
|
|
|
|
hm := NewHashMap()
|
|
|
|
hm.Put("abc", 3)
|
|
assert.Equal(3, hm.Get("abc"))
|
|
|
|
hm.Delete("abc")
|
|
assert.IsNil(hm.Get("abc"))
|
|
}
|
|
|
|
func TestHashMap_Contains(t *testing.T) {
|
|
assert := internal.NewAssert(t, "TestHashMap_Contains")
|
|
|
|
hm := NewHashMap()
|
|
assert.Equal(false, hm.Contains("abc"))
|
|
|
|
hm.Put("abc", 3)
|
|
assert.Equal(true, hm.Contains("abc"))
|
|
}
|