INNER CODE UNIT · Go
TestLRUCacheDeleteLen
duke-git/lancet · algorithm/lrucache_test.go:36
func TestLRUCacheDeleteLen(t *testing.T) {
t.Parallel()
cache := NewLRUCache[int, int](3)
for key := 1; key <= 3; key++ {
cache.Put(key, key)
}
for _, key := range []int{2, 1, 3} {
before := cache.Len()
if !cache.Delete(key) {
t.Fatalf("Delete(%d) = false, want true", key)
}
if got := cache.Len(); got != before-1 {
t.Fatalf("Len() after Delete(%d) = %d, want %d", key, got, before-1)
}
if cache.Delete(key) {
t.Fatalf("Delete(%d) = true for a missing key", key)
}