From c1488fed2afd4f85bebea27d3a4444811dec3559 Mon Sep 17 00:00:00 2001 From: James Mills <1290234+prologic@users.noreply.github.com> Date: Wed, 20 Mar 2019 16:55:39 +1000 Subject: [PATCH] Added Fold() test case --- bitcask_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bitcask_test.go b/bitcask_test.go index d8e8937..144cd67 100644 --- a/bitcask_test.go +++ b/bitcask_test.go @@ -40,6 +40,26 @@ func TestAll(t *testing.T) { assert.Equal([]byte("bar"), val) }) + t.Run("Fold", func(t *testing.T) { + var ( + keys []string + values [][]byte + ) + + err := db.Fold(func(key string) error { + value, err := db.Get(key) + if err != nil { + return err + } + keys = append(keys, key) + values = append(values, value) + return nil + }) + assert.NoError(err) + assert.Equal([]string{"foo"}, keys) + assert.Equal([][]byte{[]byte("bar")}, values) + }) + t.Run("Delete", func(t *testing.T) { err := db.Delete("foo") assert.NoError(err)