Skip to content

Commit

Permalink
test cases
Browse files Browse the repository at this point in the history
Signed-off-by: new-dream <111836360+new-dream@users.noreply.github.com>
  • Loading branch information
new-dream committed Aug 30, 2023
1 parent 744c7e4 commit eec6b33
Showing 1 changed file with 61 additions and 10 deletions.
71 changes: 61 additions & 10 deletions server/storage/backend/tx_buffer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,72 @@ import (
"github.com/stretchr/testify/assert"
)

func Test_bucketBuffer_CopyUsed(t *testing.T) {
func Test_bucketBuffer_CopyUsed_After_Add(t *testing.T) {
bb := &bucketBuffer{buf: make([]kv, 10), used: 0}
for i := 0; i < 10; i++ {
for i := 0; i < 20; i++ {
k := fmt.Sprintf("key%d", i)
v := fmt.Sprintf("val%d", i)
bb.add([]byte(k), []byte(v))
bbCopy := bb.CopyUsed()
assert.Equal(t, bb.used, bbCopy.used)
assert.Equal(t, bbCopy.used, len(bbCopy.buf))
assert.GreaterOrEqual(t, len(bb.buf), len(bbCopy.buf))
}
bbCopy := bb.CopyUsed()
assert.Equal(t, bb.used, bbCopy.used)
assert.Equal(t, bbCopy.used, len(bbCopy.buf))
}

func Test_bucketBuffer_CopyUsed_Panic(t *testing.T) {
bb := &bucketBuffer{buf: make([]kv, 10), used: 20}
assert.Panicsf(t, func() {
bb.CopyUsed()
}, "expected panic when used bigger than the length of buf")
func Test_bucketBuffer_CopyUsed(t *testing.T) {
tests := []struct {
name string
bufLen int
used int
wantPanic bool
wantUsed int
wantBufLen int
}{
{
name: "used is 0",
bufLen: 10,
used: 0,
wantPanic: false,
wantUsed: 0,
wantBufLen: 0,
},
{
name: "used is greater than 0 and less than len(buf)",
bufLen: 10,
used: 5,
wantPanic: false,
wantUsed: 5,
wantBufLen: 5,
},
{
name: "used is equal to len(buf)",
bufLen: 10,
used: 10,
wantPanic: false,
wantUsed: 10,
wantBufLen: 10,
},
{
name: "used is greater than len(buf)",
bufLen: 10,
used: 11,
wantPanic: true,
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
bb := &bucketBuffer{buf: make([]kv, tt.bufLen), used: tt.used}
if tt.wantPanic {
assert.Panicsf(t, func() {
bb.CopyUsed()
}, "expected panic when used (%d) and the length of buf (%d)", tt.used, tt.bufLen)
} else {
bbCopy := bb.CopyUsed()
assert.Equal(t, tt.wantUsed, bbCopy.used)
assert.Equal(t, tt.wantBufLen, len(bbCopy.buf))
}
})
}
}

0 comments on commit eec6b33

Please sign in to comment.