/
githubmirror
/
ydb-go-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-go-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
internal/xsync/map_test.go
65 строк
1 KB
Aleksey Myasnikov
refactor(conn): Get/Put ref-counting with balancer quarantine (#2235)
15 июл 2026, 17:24
Не верифицирован
15 июл 2026, 17:24
6dfb4a0
Код
Авторство
О чём код?
package xsync import ( "testing" "github.com/stretchr/testify/require" ) func TestMap(t *testing.T) { var m Map[int, string] v, ok := m.Get(1) require.False(t, ok) m.Set(1, "one") require.NotPanics(t, func() { v = m.Must(1) require.Equal(t, "one", v) }) require.Panics(t, func() { v = m.Must(2) }) require.Panics(t, func() { m.m.Store(2, 2) v = m.Must(2) }) require.True(t, m.Delete(2)) v, ok = m.Extract(2) require.False(t, ok) require.Equal(t, "", v) m.Set(2, "two") v, ok = m.Get(2) require.True(t, ok) require.Equal(t, "two", v) v, ok = m.Extract(1) require.True(t, ok) require.Equal(t, "one", v) require.False(t, m.Has(1)) m.Set(3, "three") v, ok = m.Get(3) require.True(t, ok) require.Equal(t, "three", v) exp := map[int]string{ 2: "two", 3: "three", } var unexp map[int]string m.Range(func(key int, value string) bool { if v, ok := exp[key]; ok && v == value { delete(exp, key) } else { unexp[key] = value } return true }) require.Empty(t, exp) require.Empty(t, unexp) m.Clear() empty := true m.Range(func(key int, value string) bool { empty = false return false }) require.True(t, empty) }