forked from TrueCloudLab/neoneo-go
52 lines
1 KiB
Go
52 lines
1 KiB
Go
|
package payload
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"fmt"
|
||
|
"testing"
|
||
|
"time"
|
||
|
|
||
|
"github.com/CityOfZion/neo-go/pkg/util"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestEncodeDecodeAddress(t *testing.T) {
|
||
|
var (
|
||
|
e = util.NewEndpoint("127.0.0.1:2000")
|
||
|
addr = NewAddressAndTime(e, time.Now())
|
||
|
buf = new(bytes.Buffer)
|
||
|
)
|
||
|
|
||
|
if err := addr.EncodeBinary(buf); err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
addrDecode := &AddressAndTime{}
|
||
|
if err := addrDecode.DecodeBinary(buf); err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
assert.Equal(t, addr, addrDecode)
|
||
|
}
|
||
|
|
||
|
func TestEncodeDecodeAddressList(t *testing.T) {
|
||
|
var lenList uint8 = 4
|
||
|
addrList := &AddressList{make([]*AddressAndTime, lenList)}
|
||
|
for i := 0; i < int(lenList); i++ {
|
||
|
e := util.NewEndpoint(fmt.Sprintf("127.0.0.1:200%d", i))
|
||
|
addrList.Addrs[i] = NewAddressAndTime(e, time.Now())
|
||
|
}
|
||
|
|
||
|
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)
|
||
|
}
|
||
|
|
||
|
assert.Equal(t, addrList, addrListDecode)
|
||
|
}
|