mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00
35 lines
698 B
Go
35 lines
698 B
Go
package trie
|
|
|
|
import "testing"
|
|
|
|
var nsCPU = Namespace("cpu")
|
|
|
|
// Test functions
|
|
func TestLoadOrStore(t *testing.T) {
|
|
trie := NewTrie()
|
|
ptr := trie.LoadOrStore(nsCPU, func() any {
|
|
return new(int)
|
|
})
|
|
if ptr == nil {
|
|
t.Fatal("expected pointer to be created")
|
|
}
|
|
if ptr != trie.LoadOrStore(nsCPU, func() any {
|
|
return new(int)
|
|
}) {
|
|
t.Fatal("expected same pointer to be returned")
|
|
}
|
|
got, ok := trie.Get(nsCPU)
|
|
if !ok || got != ptr {
|
|
t.Fatal("expected same pointer to be returned")
|
|
}
|
|
}
|
|
|
|
func TestStore(t *testing.T) {
|
|
trie := NewTrie()
|
|
ptr := new(int)
|
|
trie.Store(nsCPU, ptr)
|
|
got, ok := trie.Get(nsCPU)
|
|
if !ok || got != ptr {
|
|
t.Fatal("expected same pointer to be returned")
|
|
}
|
|
}
|