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

     1  package smartcontract
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/nspcc-dev/neo-go/pkg/util"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestBuilder(t *testing.T) {
    11  	b := NewBuilder()
    12  	require.Equal(t, 0, b.Len())
    13  	b.InvokeMethod(util.Uint160{1, 2, 3}, "method")
    14  	require.Equal(t, 37, b.Len())
    15  	b.InvokeMethod(util.Uint160{1, 2, 3}, "transfer", util.Uint160{3, 2, 1}, util.Uint160{9, 8, 7}, 100500)
    16  	require.Equal(t, 126, b.Len())
    17  	s, err := b.Script()
    18  	require.NoError(t, err)
    19  	require.NotNil(t, s)
    20  	require.Equal(t, 126, len(s))
    21  	b.Reset()
    22  	require.Equal(t, 0, b.Len())
    23  }