| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- // Copyright 2019 Yunion
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- package hashcache
- import (
- "testing"
- "time"
- )
- func TestCache(t *testing.T) {
- c := NewCache(1024, time.Second)
- c.Set("123", 123)
- c.Set("456", 456)
- v := c.Get("123")
- if v == nil || v.(int) != 123 {
- t.Error("Key 123 not found")
- }
- v = c.Get("456")
- if v == nil || v.(int) != 456 {
- t.Error("Key 456 not found")
- }
- c.Set("456", 789)
- v = c.Get("456")
- if v == nil || v.(int) != 789 {
- t.Error("Key 456 not changed")
- }
- time.Sleep(time.Second)
- v = c.Get("123")
- if v != nil {
- t.Errorf("key 123 shoud expire")
- }
- c.Set("123", 1234)
- c.Set("456", 4567)
- v = c.Get("123")
- if v == nil || v.(int) != 1234 {
- t.Error("Key 123 not found")
- }
- v = c.Get("456")
- if v == nil || v.(int) != 4567 {
- t.Error("Key 456 not found")
- }
- time.Sleep(time.Second)
- v = c.Get("123")
- if v != nil {
- t.Errorf("key 123 shoud expire")
- }
- c.Set("123", 1234)
- v = c.Get("123")
- if v == nil || v.(int) != 1234 {
- t.Error("Key 123 not found")
- }
- c.Invalidate()
- v = c.Get("123")
- if v != nil {
- t.Error("Key 123 should not found")
- }
- }
|