github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/core/state/deposit_test.go (about) 1 package state 2 3 import ( 4 "math/big" 5 "testing" 6 7 "github.com/nspcc-dev/neo-go/internal/testserdes" 8 "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestEncodeDecodeDeposit(t *testing.T) { 13 d := &Deposit{Amount: big.NewInt(100500), Till: 888} 14 depo := new(Deposit) 15 testserdes.ToFromStackItem(t, d, depo) 16 } 17 18 func TestDepositFromStackItem(t *testing.T) { 19 var d Deposit 20 21 item := stackitem.Make(42) 22 require.Error(t, d.FromStackItem(item)) 23 24 item = stackitem.NewStruct(nil) 25 require.Error(t, d.FromStackItem(item)) 26 27 item = stackitem.NewStruct([]stackitem.Item{ 28 stackitem.NewStruct(nil), 29 stackitem.NewStruct(nil), 30 }) 31 require.Error(t, d.FromStackItem(item)) 32 33 item = stackitem.NewStruct([]stackitem.Item{ 34 stackitem.Make(777), 35 stackitem.NewStruct(nil), 36 }) 37 require.Error(t, d.FromStackItem(item)) 38 39 item = stackitem.NewStruct([]stackitem.Item{ 40 stackitem.Make(777), 41 stackitem.Make(-1), 42 }) 43 require.Error(t, d.FromStackItem(item)) 44 item = stackitem.NewStruct([]stackitem.Item{ 45 stackitem.Make(777), 46 stackitem.Make("somenonu64value"), 47 }) 48 require.Error(t, d.FromStackItem(item)) 49 item = stackitem.NewStruct([]stackitem.Item{ 50 stackitem.Make(777), 51 stackitem.Make(888), 52 }) 53 require.NoError(t, d.FromStackItem(item)) 54 }