github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/services/rpcsrv/params/params_test.go (about)

     1  package params
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/nspcc-dev/neo-go/pkg/smartcontract"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestParamsFromAny(t *testing.T) {
    11  	str := "jajaja"
    12  
    13  	ps, err := FromAny([]any{str, smartcontract.Parameter{Type: smartcontract.StringType, Value: str}})
    14  	require.NoError(t, err)
    15  	require.Equal(t, 2, len(ps))
    16  
    17  	resStr, err := ps[0].GetString()
    18  	require.NoError(t, err)
    19  	require.Equal(t, resStr, str)
    20  
    21  	resFP, err := ps[1].GetFuncParam()
    22  	require.NoError(t, err)
    23  	require.Equal(t, resFP.Type, smartcontract.StringType)
    24  	resStr, err = resFP.Value.GetString()
    25  	require.NoError(t, err)
    26  	require.Equal(t, resStr, str)
    27  
    28  	// Invalid item.
    29  	_, err = FromAny([]any{smartcontract.Parameter{Type: smartcontract.IntegerType, Value: str}})
    30  	require.Error(t, err)
    31  }