testserdes: implement helpers for encode/decode routines
Frequently one needs to check if struct serializes/deserializes properly. This commit implements helpers for such cases including: 1. JSON 2. io.Serializable interface
This commit is contained in:
parent
d4622768d1
commit
9abda40171
36 changed files with 201 additions and 476 deletions
|
@ -3,7 +3,7 @@ package payload
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/nspcc-dev/neo-go/pkg/io"
|
||||
"github.com/nspcc-dev/neo-go/pkg/internal/testserdes"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@ -15,17 +15,9 @@ func TestVersionEncodeDecode(t *testing.T) {
|
|||
var relay = true
|
||||
|
||||
version := NewVersion(id, port, useragent, height, relay)
|
||||
|
||||
buf := io.NewBufBinWriter()
|
||||
version.EncodeBinary(buf.BinWriter)
|
||||
assert.Nil(t, buf.Err)
|
||||
b := buf.Bytes()
|
||||
assert.Equal(t, io.GetVarSize(version), len(b))
|
||||
|
||||
r := io.NewBinReaderFromBuf(b)
|
||||
versionDecoded := &Version{}
|
||||
versionDecoded.DecodeBinary(r)
|
||||
assert.Nil(t, r.Err)
|
||||
testserdes.EncodeDecodeBinary(t, version, versionDecoded)
|
||||
|
||||
assert.Equal(t, versionDecoded.Nonce, id)
|
||||
assert.Equal(t, versionDecoded.Port, port)
|
||||
assert.Equal(t, versionDecoded.UserAgent, []byte(useragent))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue