package cache import ( "testing" "time" ) func TestNew_LruURI(t *testing.T) { cache, err := New("lru://") if err != nil { t.Fatal("Error creating cache:", err) } if _, ok := cache.(*LruCache); !ok { t.Fatal("Cache is not instance of MemoryCache") } } func TestLruCache_Get(t *testing.T) { cache, err := New("lru://") if err != nil { t.Fatal("Error creating cache:", err) } obj := "test" cache.Set("test", obj, time.Minute) var new string cache.Get("test", &new) if obj != new { t.Fatal("Expected", obj, "got", new) } } func TestLruCache_GetRaw(t *testing.T) { cache, err := New("lru://") if err != nil { t.Fatal("Error creating cache:", err) } obj := "test" cache.Set("test", obj, time.Minute) v, err := cache.Get("test") if err != nil { t.Fatal("Unable to get value:", err) } new := string(v) if obj != new { t.Fatal("Expected", obj, "got", new) } } func TestLruCache_Has(t *testing.T) { cache, err := New("lru://") if err != nil { t.Fatal("Error creating cache:", err) } cache.Set("test", "test", time.Minute) if !cache.Has("test") { t.Fatal("Expected cache to have object 'test'") } } func TestLruCache_Del(t *testing.T) { cache, err := New("lru://") if err != nil { t.Fatal("Error creating cache:", err) } cache.Set("test", "test", time.Minute) if !cache.Has("test") { t.Fatal("Expected cache to have object 'test'") } cache.Del("test") if cache.Has("test") { t.Fatal("Cache did not properly delete item") } }