1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package cache_test
- import (
- "testing"
- . "github.com/xtls/xray-core/common/cache"
- )
- func TestLruReplaceValue(t *testing.T) {
- lru := NewLru(2)
- lru.Put(2, 6)
- lru.Put(1, 5)
- lru.Put(1, 2)
- v, _ := lru.Get(1)
- if v != 2 {
- t.Error("should get 2", v)
- }
- v, _ = lru.Get(2)
- if v != 6 {
- t.Error("should get 6", v)
- }
- }
- func TestLruRemoveOld(t *testing.T) {
- lru := NewLru(2)
- v, ok := lru.Get(2)
- if ok {
- t.Error("should get nil", v)
- }
- lru.Put(1, 1)
- lru.Put(2, 2)
- v, _ = lru.Get(1)
- if v != 1 {
- t.Error("should get 1", v)
- }
- lru.Put(3, 3)
- v, ok = lru.Get(2)
- if ok {
- t.Error("should get nil", v)
- }
- lru.Put(4, 4)
- v, ok = lru.Get(1)
- if ok {
- t.Error("should get nil", v)
- }
- v, _ = lru.Get(3)
- if v != 3 {
- t.Error("should get 3", v)
- }
- v, _ = lru.Get(4)
- if v != 4 {
- t.Error("should get 4", v)
- }
- }
- func TestGetKeyFromValue(t *testing.T) {
- lru := NewLru(2)
- lru.Put(3, 3)
- lru.Put(2, 2)
- lru.GetKeyFromValue(3)
- lru.Put(1, 1)
- v, ok := lru.GetKeyFromValue(2)
- if ok {
- t.Error("should get nil", v)
- }
- v, _ = lru.GetKeyFromValue(3)
- if v != 3 {
- t.Error("should get 3", v)
- }
- }
- func TestPeekKeyFromValue(t *testing.T) {
- lru := NewLru(2)
- lru.Put(3, 3)
- lru.Put(2, 2)
- lru.PeekKeyFromValue(3)
- lru.Put(1, 1)
- v, ok := lru.PeekKeyFromValue(3)
- if ok {
- t.Error("should get nil", v)
- }
- v, _ = lru.PeekKeyFromValue(2)
- if v != 2 {
- t.Error("should get 2", v)
- }
- }
|