neoneo-go/pkg/vm/ref_counter_test.go

33 lines
594 B
Go
Raw Normal View History

package vm
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestRefCounter_Add(t *testing.T) {
r := newRefCounter()
require.Equal(t, 0, r.size)
r.Add(NullItem{})
require.Equal(t, 1, r.size)
r.Add(NullItem{})
require.Equal(t, 2, r.size) // count scalar items twice
arr := NewArrayItem([]StackItem{NewByteArrayItem([]byte{1}), NewBoolItem(false)})
r.Add(arr)
require.Equal(t, 5, r.size) // array + 2 elements
r.Add(arr)
require.Equal(t, 6, r.size) // count only array
r.Remove(arr)
require.Equal(t, 5, r.size)
r.Remove(arr)
require.Equal(t, 2, r.size)
}