test(metanode): add free_list.go unit test

Signed-off-by: jjyaoao <jjyaoao@126.com>
This commit is contained in:
jjyaoao 2023-06-07 07:51:00 +00:00 committed by Victor1319
parent 7d0e73d1c0
commit 1d03d309bc

View File

@ -0,0 +1,38 @@
package metanode
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestFreeList(t *testing.T) {
fl := newFreeList()
require.Equal(t, 0, fl.Len())
// Test Push
fl.Push(1)
require.Equal(t, 1, fl.Len())
fl.Push(2)
require.Equal(t, 2, fl.Len())
// Test Pop
require.Equal(t, uint64(1), fl.Pop())
require.Equal(t, 1, fl.Len())
require.Equal(t, uint64(2), fl.Pop())
require.Equal(t, 0, fl.Len())
// Test Remove
fl.Push(3)
fl.Push(4)
require.Equal(t, 2, fl.Len())
fl.Remove(3)
require.Equal(t, 1, fl.Len())
require.Equal(t, uint64(4), fl.Pop())
require.Equal(t, 0, fl.Len())
}