package netmap import ( "math/big" "testing" "github.com/nspcc-dev/neo-go/pkg/encoding/bigint" "github.com/stretchr/testify/require" ) func TestDecodeUint64(t *testing.T) { testCases := []uint64{ 0, 12, 129, 0x1234, 0x12345678, 0x1234567891011, } for _, expected := range testCases { val := bigint.ToBytes(big.NewInt(int64(expected))) actual, err := decodeConfigValueUint64(val) require.NoError(t, err) require.Equal(t, expected, actual) } } func TestDecodeBool(t *testing.T) { testCases := []struct { expected bool raw []byte }{ { false, []byte{0}, }, { false, []byte{0, 0, 0, 0}, }, { true, []byte{1}, }, { true, []byte{1, 1, 1, 1, 1}, }, { true, []byte{0, 0, 0, 0, 1}, // neo-go casts any value that does not consist of zeroes as `true` }, } for _, test := range testCases { actual, err := decodeConfigValueBool(test.raw) require.NoError(t, err) require.Equal(t, test.expected, actual) } }