github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/rpcclient/nns/record_test.go (about)

     1  package nns
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestRecordStateFromStackItem(t *testing.T) {
    11  	r := &RecordState{}
    12  	require.Error(t, r.FromStackItem(stackitem.Make(42)))
    13  	require.Error(t, r.FromStackItem(stackitem.Make([]stackitem.Item{})))
    14  	require.Error(t, r.FromStackItem(stackitem.Make([]stackitem.Item{
    15  		stackitem.Make([]stackitem.Item{}),
    16  		stackitem.Make(16),
    17  		stackitem.Make("cool"),
    18  	})))
    19  	require.Error(t, r.FromStackItem(stackitem.Make([]stackitem.Item{
    20  		stackitem.Make("n3"),
    21  		stackitem.Make([]stackitem.Item{}),
    22  		stackitem.Make("cool"),
    23  	})))
    24  	require.Error(t, r.FromStackItem(stackitem.Make([]stackitem.Item{
    25  		stackitem.Make("n3"),
    26  		stackitem.Make(16),
    27  		stackitem.Make([]stackitem.Item{}),
    28  	})))
    29  	require.Error(t, r.FromStackItem(stackitem.Make([]stackitem.Item{
    30  		stackitem.Make("n3"),
    31  		stackitem.Make(100500),
    32  		stackitem.Make("cool"),
    33  	})))
    34  	require.NoError(t, r.FromStackItem(stackitem.Make([]stackitem.Item{
    35  		stackitem.Make("n3"),
    36  		stackitem.Make(16),
    37  		stackitem.Make("cool"),
    38  	})))
    39  }