package utl import ( "testing" ) func TestSMap(t *testing.T) { m := NewSMap() AssertFalse(m.Exists(20), "smap should empty", t) err := m.Insert("h", "good") AssertNil(err, "h not exists in smap", t) val, ok := m.Get("h") AssertTrue(ok && val == "good", "h==good:"+val.(string), t) err = m.Insert("h", "ggd") AssertErr(err, "h exists", t) m.Set("h", "hh") _, ok = m.Get("dd") AssertFalse(ok, "dd should not exists in smap", t) val, ok = m.Get("h") AssertTrue(ok, "h exists", t) AssertTrue(val == "hh", "Set is force", t) err = m.Update("t", "jj") AssertErr(err, "t not exists", t) err = m.Update("h", "jj") AssertNil(err, "update h", t) val, ok = m.Get("h") AssertTrue(ok && val == "jj", "updated h:"+val.(string), t) m.Del("z") m.Del("h") t.Log(m.Keys()) t.Log(m.Values()) }