neo-go/pkg/core/state/notification_event_test.go
2020-03-23 16:27:47 +03:00

45 lines
1.1 KiB
Go

package state
import (
"testing"
"github.com/nspcc-dev/neo-go/pkg/internal/random"
"github.com/nspcc-dev/neo-go/pkg/io"
"github.com/nspcc-dev/neo-go/pkg/smartcontract"
"github.com/stretchr/testify/assert"
)
func TestEncodeDecodeNotificationEvent(t *testing.T) {
event := &NotificationEvent{
ScriptHash: random.Uint160(),
Item: nil,
}
buf := io.NewBufBinWriter()
event.EncodeBinary(buf.BinWriter)
assert.Nil(t, buf.Err)
eventDecoded := &NotificationEvent{}
reader := io.NewBinReaderFromBuf(buf.Bytes())
eventDecoded.DecodeBinary(reader)
assert.Equal(t, event, eventDecoded)
}
func TestEncodeDecodeAppExecResult(t *testing.T) {
appExecResult := &AppExecResult{
TxHash: random.Uint256(),
Trigger: 1,
VMState: "Hault",
GasConsumed: 10,
Stack: []smartcontract.Parameter{},
Events: []NotificationEvent{},
}
buf := io.NewBufBinWriter()
appExecResult.EncodeBinary(buf.BinWriter)
assert.Nil(t, buf.Err)
appExecResultDecoded := &AppExecResult{}
reader := io.NewBinReaderFromBuf(buf.Bytes())
appExecResultDecoded.DecodeBinary(reader)
assert.Equal(t, appExecResult, appExecResultDecoded)
}