Skip to content

Commit

Permalink
test: add reverse iterator tests
Browse files Browse the repository at this point in the history
  • Loading branch information
wolkykim committed Aug 17, 2023
1 parent 9e85ebe commit 3b4a2c7
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions tm2/pkg/store/cache/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,50 @@ func TestCacheKVIteratorBounds(t *testing.T) {
require.Equal(t, 4, i)
}

func TestCacheKVReverseIteratorBounds(t *testing.T) {
st := newCacheStore()

// set some items
nItems := 5
for i := 0; i < nItems; i++ {
st.Set(keyFmt(i), valFmt(i))
}

// iterate over all of them in reverse
i := nItems - 1
for itr := st.ReverseIterator(nil, nil); itr.Valid(); itr.Next() {
require.Equal(t, keyFmt(i), itr.Key())
require.Equal(t, valFmt(i), itr.Value())
i--
}
require.Equal(t, -1, i)

// iterate over none
i = 0
for itr := st.ReverseIterator(bz("money"), nil); itr.Valid(); itr.Next() {
i++
}
require.Equal(t, 0, i)

// iterate over lower
i = 2
for itr := st.ReverseIterator(keyFmt(0), keyFmt(3)); itr.Valid(); itr.Next() {
require.Equal(t, keyFmt(i), itr.Key())
require.Equal(t, valFmt(i), itr.Value())
i--
}
require.Equal(t, -1, i)

// iterate over upper
i = 3
for itr := st.ReverseIterator(keyFmt(2), keyFmt(4)); itr.Valid(); itr.Next() {
require.Equal(t, keyFmt(i), itr.Key())
require.Equal(t, valFmt(i), itr.Value())
i--
}
require.Equal(t, 1, i)
}

func TestCacheKVMergeIteratorBasics(t *testing.T) {
st := newCacheStore()

Expand Down

0 comments on commit 3b4a2c7

Please sign in to comment.