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

     1  package vm
     2  
     3  import (
     4  	"math/big"
     5  	"testing"
     6  
     7  	"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestSlot_Get(t *testing.T) {
    12  	rc := newRefCounter()
    13  	var s slot
    14  	require.Panics(t, func() { s.Size() })
    15  
    16  	s.init(3, rc)
    17  	require.Equal(t, 3, s.Size())
    18  	require.Equal(t, 3, int(*rc))
    19  
    20  	// Null is the default
    21  	item := s.Get(2)
    22  	require.Equal(t, stackitem.Null{}, item)
    23  
    24  	s.Set(1, stackitem.NewBigInteger(big.NewInt(42)), rc)
    25  	require.Equal(t, stackitem.NewBigInteger(big.NewInt(42)), s.Get(1))
    26  	require.Equal(t, 3, int(*rc))
    27  }