github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/smartcontract/binding/override_test.go (about)

     1  package binding
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func TestNewOverrideFromString(t *testing.T) {
    10  	testCases := []struct {
    11  		expected Override
    12  		value    string
    13  	}{
    14  		{Override{"import.com/pkg", "pkg.Type"}, "import.com/pkg.Type"},
    15  		{Override{"", "map[int]int"}, "map[int]int"},
    16  		{Override{"", "[]int"}, "[]int"},
    17  		{Override{"", "map[int][]int"}, "map[int][]int"},
    18  		{Override{"import.com/pkg", "map[int]pkg.Type"}, "map[int]import.com/pkg.Type"},
    19  		{Override{"import.com/pkg", "[]pkg.Type"}, "[]import.com/pkg.Type"},
    20  		{Override{"import.com/pkg", "map[int]*pkg.Type"}, "map[int]*import.com/pkg.Type"},
    21  		{Override{"import.com/pkg", "[]*pkg.Type"}, "[]*import.com/pkg.Type"},
    22  		{Override{"import.com/pkg", "[][]*pkg.Type"}, "[][]*import.com/pkg.Type"},
    23  		{Override{"import.com/pkg", "map[string][]pkg.Type"}, "map[string][]import.com/pkg.Type"}}
    24  
    25  	for _, tc := range testCases {
    26  		require.Equal(t, tc.expected, NewOverrideFromString(tc.value))
    27  
    28  		s, err := tc.expected.MarshalYAML()
    29  		require.NoError(t, err)
    30  		require.Equal(t, tc.value, s)
    31  	}
    32  }