github.com/onflow/flow-go@v0.33.17/storage/pebble/registers/comparer_test.go (about)

     1  package registers
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func Test_NewMVCCComparer_Split(t *testing.T) {
    10  	t.Parallel()
    11  
    12  	comparer := NewMVCCComparer()
    13  
    14  	tests := []struct {
    15  		name string
    16  		arg  []byte
    17  		want int
    18  	}{
    19  		{name: "nil", arg: nil, want: -HeightSuffixLen},
    20  		{name: "empty", arg: []byte(""), want: -HeightSuffixLen},
    21  		{name: "edge0", arg: []byte("1234567"), want: -1},
    22  		{name: "edge1", arg: []byte("12345678"), want: 0},
    23  		{name: "edge2", arg: []byte("123456789"), want: 1},
    24  		{name: "split", arg: []byte("1234567890"), want: 2},
    25  	}
    26  
    27  	for _, tt := range tests {
    28  		tt := tt
    29  
    30  		t.Run(tt.name, func(t *testing.T) {
    31  			t.Parallel()
    32  
    33  			require.Equal(t, tt.want, comparer.Split(tt.arg))
    34  		})
    35  	}
    36  }