109 lines
1.8 KiB
Go
109 lines
1.8 KiB
Go
package cache
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestSimpleCache_Set(t *testing.T) {
|
|
s := NewSimpleCache()
|
|
err := s.Set("key", "value", 0)
|
|
if err != nil {
|
|
t.Fatalf("写入失败")
|
|
}
|
|
err = s.Set("key", 111, 0)
|
|
if err != nil {
|
|
t.Fatalf("写入失败")
|
|
}
|
|
}
|
|
|
|
func TestSimpleCache_Get(t *testing.T) {
|
|
s := NewSimpleCache()
|
|
err := s.Set("key", "value", 0)
|
|
value := ""
|
|
err = s.Get("key", &value)
|
|
fmt.Println("value", value)
|
|
if err != nil {
|
|
t.Fatalf("读取失败")
|
|
}
|
|
|
|
err = s.Set("key1", 11, 0)
|
|
value1 := 0
|
|
err = s.Get("key1", &value1)
|
|
fmt.Println("value1", value1)
|
|
if err != nil {
|
|
t.Fatalf("读取失败")
|
|
}
|
|
|
|
err = s.Set("key2", []byte{'a', 'b'}, 0)
|
|
value2 := []byte{}
|
|
err = s.Get("key2", &value2)
|
|
fmt.Println("value2", string(value2))
|
|
if err != nil {
|
|
t.Fatalf("读取失败")
|
|
}
|
|
|
|
err = s.Set("key3", 33.33, 0)
|
|
var value3 int
|
|
err = s.Get("key3", &value3)
|
|
fmt.Println("value3", value3)
|
|
if err != nil {
|
|
t.Fatalf("读取失败")
|
|
}
|
|
|
|
}
|
|
|
|
type r struct {
|
|
A string `json:"a"`
|
|
B string `json:"b"`
|
|
R *rr `json:"r"`
|
|
}
|
|
type r2 struct {
|
|
A string `json:"a"`
|
|
B string `json:"b"`
|
|
}
|
|
type rr struct {
|
|
AA string `json:"aa"`
|
|
BB string `json:"bb"`
|
|
}
|
|
|
|
func TestSimpleCache_GetStruct(t *testing.T) {
|
|
s := NewSimpleCache()
|
|
|
|
old_rr := &rr{
|
|
AA: "aa", BB: "bb",
|
|
}
|
|
|
|
old := &r{
|
|
A: "ab", B: "cdc",
|
|
R: old_rr,
|
|
}
|
|
err := s.Set("key", old, 300)
|
|
if err != nil {
|
|
t.Fatalf("写入失败")
|
|
}
|
|
|
|
res := &r{}
|
|
err2 := s.Get("key", res)
|
|
fmt.Println("res", res)
|
|
if err2 != nil {
|
|
t.Fatalf("读取失败" + err2.Error())
|
|
|
|
}
|
|
|
|
//修改原始值,看后面是否会变化
|
|
old.A = "aa"
|
|
old_rr.AA = "aaa"
|
|
fmt.Println("old", old)
|
|
res2 := &r{}
|
|
err3 := s.Get("key", res2)
|
|
fmt.Println("res2", res2, res2.R.AA, res2.R.BB)
|
|
if err3 != nil {
|
|
t.Fatalf("读取失败" + err3.Error())
|
|
|
|
}
|
|
//if reflect.DeepEqual(res, old) {
|
|
// t.Fatalf("读取错误")
|
|
//}
|
|
}
|