2018-01-27 15:00:28 +00:00
|
|
|
package payload
|
|
|
|
|
|
|
|
import (
|
2018-01-28 15:18:48 +00:00
|
|
|
"bytes"
|
|
|
|
"fmt"
|
|
|
|
"reflect"
|
2018-01-27 15:00:28 +00:00
|
|
|
"testing"
|
2018-01-29 18:17:49 +00:00
|
|
|
|
2018-02-01 18:54:23 +00:00
|
|
|
"github.com/CityOfZion/neo-go/pkg/util"
|
2018-01-27 15:00:28 +00:00
|
|
|
)
|
|
|
|
|
2018-01-28 15:18:48 +00:00
|
|
|
func TestEncodeDecodeAddr(t *testing.T) {
|
2018-01-29 18:17:49 +00:00
|
|
|
e, err := util.EndpointFromString("127.0.0.1:2000")
|
2018-01-28 15:18:48 +00:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
addr := NewAddrWithTime(e)
|
|
|
|
buf := new(bytes.Buffer)
|
|
|
|
if err := addr.EncodeBinary(buf); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
addrDecode := &AddrWithTime{}
|
|
|
|
if err := addrDecode.DecodeBinary(buf); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if !reflect.DeepEqual(addr, addrDecode) {
|
|
|
|
t.Fatalf("expected both addr payloads to be equal: %v and %v", addr, addrDecode)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestEncodeDecodeAddressList(t *testing.T) {
|
|
|
|
var lenList uint8 = 4
|
2018-02-07 14:16:50 +00:00
|
|
|
addrList := &AddressList{make([]*AddrWithTime, lenList)}
|
2018-01-28 15:18:48 +00:00
|
|
|
for i := 0; i < int(lenList); i++ {
|
2018-01-29 18:17:49 +00:00
|
|
|
e, _ := util.EndpointFromString(fmt.Sprintf("127.0.0.1:200%d", i))
|
2018-02-07 14:16:50 +00:00
|
|
|
addrList.Addrs[i] = NewAddrWithTime(e)
|
2018-01-28 15:18:48 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
buf := new(bytes.Buffer)
|
|
|
|
if err := addrList.EncodeBinary(buf); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
addrListDecode := &AddressList{}
|
|
|
|
if err := addrListDecode.DecodeBinary(buf); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if !reflect.DeepEqual(addrList, addrListDecode) {
|
|
|
|
t.Fatalf("expected both address list payloads to be equal: %v and %v", addrList, addrListDecode)
|
|
|
|
}
|
2018-01-27 15:00:28 +00:00
|
|
|
}
|