29 lines
657 B
Go
29 lines
657 B
Go
package payload
|
|
|
|
import (
|
|
"bytes"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestVersionEncodeDecode(t *testing.T) {
|
|
version := NewVersion(13337, 3000, "./NEO:0.0.1/", 0, true)
|
|
|
|
buf := new(bytes.Buffer)
|
|
if err := version.EncodeBinary(buf); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
versionDecoded := &Version{}
|
|
if err := versionDecoded.DecodeBinary(buf); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !reflect.DeepEqual(version, versionDecoded) {
|
|
t.Fatalf("expected both version payload to be equal: %+v and %+v", version, versionDecoded)
|
|
}
|
|
|
|
if version.Size() != uint32(minVersionSize+len(version.UserAgent)) {
|
|
t.Fatalf("Expected version size of %d", minVersionSize+lenUA)
|
|
}
|
|
}
|