github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/rpcclient/nep11/nondivisible_test.go (about) 1 package nep11 2 3 import ( 4 "errors" 5 "testing" 6 7 "github.com/nspcc-dev/neo-go/pkg/neorpc/result" 8 "github.com/nspcc-dev/neo-go/pkg/util" 9 "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestNDOwnerOf(t *testing.T) { 14 ta := new(testAct) 15 tr := NewNonDivisibleReader(ta, util.Uint160{1, 2, 3}) 16 tt := NewNonDivisible(ta, util.Uint160{1, 2, 3}) 17 18 for name, fun := range map[string]func([]byte) (util.Uint160, error){ 19 "Reader": tr.OwnerOf, 20 "Full": tt.OwnerOf, 21 } { 22 t.Run(name, func(t *testing.T) { 23 ta.err = errors.New("") 24 _, err := fun([]byte{3, 2, 1}) 25 require.Error(t, err) 26 27 ta.err = nil 28 ta.res = &result.Invoke{ 29 State: "HALT", 30 Stack: []stackitem.Item{ 31 stackitem.Make(100500), 32 }, 33 } 34 _, err = fun([]byte{3, 2, 1}) 35 require.Error(t, err) 36 37 own := util.Uint160{1, 2, 3} 38 ta.res = &result.Invoke{ 39 State: "HALT", 40 Stack: []stackitem.Item{ 41 stackitem.Make(own.BytesBE()), 42 }, 43 } 44 owl, err := fun([]byte{3, 2, 1}) 45 require.NoError(t, err) 46 require.Equal(t, own, owl) 47 }) 48 } 49 }