parent
511bdc61c5
commit
08eaea92d1
@ -1,18 +1,28 @@
|
||||
package sieve
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"slices"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSieveCache(t *testing.T) {
|
||||
cache := NewCache(3)
|
||||
cache.Access("A")
|
||||
cache.Access("B")
|
||||
cache.Access("C")
|
||||
cache.Access("D")
|
||||
cache.Access("B")
|
||||
cache.Access("E")
|
||||
cache.Access("A")
|
||||
cache.Range(func(v string) bool {
|
||||
t.Log(v)
|
||||
cache.Put("a", "A")
|
||||
cache.Put("b", "B")
|
||||
cache.Put("c", "C")
|
||||
cache.Put("d", "D")
|
||||
cache.Put("b", "B")
|
||||
cache.Put("e", "E")
|
||||
cache.Put("a", "A")
|
||||
|
||||
expectedKeys := []string{"a", "b", "e"}
|
||||
count := 0
|
||||
cache.Range(func(k, _ string) bool {
|
||||
count++
|
||||
if !slices.Contains(expectedKeys, k) {
|
||||
t.Fail()
|
||||
t.Errorf("unexpected key in result: %s", k)
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in new issue