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) }