Files
wazero/internal/bitpack/offset_array_test.go
2023-05-15 18:41:52 -07:00

35 lines
692 B
Go

package bitpack_test
import (
"fmt"
"math"
"testing"
"github.com/tetratelabs/wazero/internal/bitpack"
"github.com/tetratelabs/wazero/internal/testing/require"
)
func TestOffsetArray(t *testing.T) {
tests := [][]uint64{
{},
{0},
{1, 2, 3, 4, 5, 6, 7, 8, 9},
{16: 1},
{17: math.MaxUint16 + 1},
{21: 10, 22: math.MaxUint16},
{0: 42, 100: math.MaxUint64},
{0: 42, 1: math.MaxUint32, 101: math.MaxUint64},
}
for _, test := range tests {
t.Run(fmt.Sprintf("len=%d", len(test)), func(t *testing.T) {
array := bitpack.NewOffsetArray(test)
require.Equal(t, len(test), array.Len())
for i, v := range test {
require.Equal(t, v, array.Index(i))
}
})
}
}