diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2015-01-11 02:20:54 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2015-01-11 02:20:54 +0900 |
commit | e293cd4d088ec1fc4b6a7b14a19825138a20c597 (patch) | |
tree | 5f3ed86a4c8cec2cc9ffe43bd6e65812e7e48a2a /src/cache_test.go | |
parent | ca4bdfb4bd61e1cb9991146ac5b6bafbf5391072 (diff) |
Add test cases for ChunkCache
Diffstat (limited to 'src/cache_test.go')
-rw-r--r-- | src/cache_test.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/cache_test.go b/src/cache_test.go new file mode 100644 index 00000000..2a8b0480 --- /dev/null +++ b/src/cache_test.go @@ -0,0 +1,40 @@ +package fzf + +import "testing" + +func TestChunkCache(t *testing.T) { + cache := NewChunkCache() + chunk2 := make(Chunk, CHUNK_SIZE) + chunk1p := &Chunk{} + chunk2p := &chunk2 + items1 := []*Item{&Item{}} + items2 := []*Item{&Item{}, &Item{}} + cache.Add(chunk1p, "foo", items1) + cache.Add(chunk2p, "foo", items1) + cache.Add(chunk2p, "bar", items2) + + { // chunk1 is not full + cached, found := cache.Find(chunk1p, "foo") + if found { + t.Error("Cached disabled for non-empty chunks", found, cached) + } + } + { + cached, found := cache.Find(chunk2p, "foo") + if !found || len(cached) != 1 { + t.Error("Expected 1 item cached", found, cached) + } + } + { + cached, found := cache.Find(chunk2p, "bar") + if !found || len(cached) != 2 { + t.Error("Expected 2 items cached", found, cached) + } + } + { + cached, found := cache.Find(chunk1p, "foobar") + if found { + t.Error("Expected 0 item cached", found, cached) + } + } +} |