rename TestPacket -> TestPacketEncodeDecode

also, verify encoded bytes to a sample
This commit is contained in:
CPunch 2023-11-22 20:04:53 -06:00
parent 9df5a3d0d5
commit 4419260cd0

View File

@ -13,7 +13,17 @@ type TestPacketData struct {
C int32 C int32
} }
func TestPacket(t *testing.T) { // this is the data we expect to get from encoding the above struct with:
//
// Encode(TestPacketData{
// A: 1,
// B: 2,
// UTF16Str: "hello world",
// C: 3,
// })
var testData = [...]byte{0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x77, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00}
func TestPacketEncodeDecode(t *testing.T) {
pkt := NewPacket(&bytes.Buffer{}) pkt := NewPacket(&bytes.Buffer{})
if err := pkt.Encode(TestPacketData{ if err := pkt.Encode(TestPacketData{
A: 1, A: 1,
@ -24,12 +34,16 @@ func TestPacket(t *testing.T) {
t.Error(err) t.Error(err)
} }
if !bytes.Equal(pkt.readWriter.(*bytes.Buffer).Bytes(), testData[:]) {
t.Error("packet data does not match!")
}
var test TestPacketData var test TestPacketData
if err := pkt.Decode(&test); err != nil { if err := pkt.Decode(&test); err != nil {
t.Error(err) t.Error(err)
} }
if test.A != 1 || test.B != 2 || test.C != 3 || test.UTF16Str != "hello world" { if test.A != 1 || test.B != 2 || test.C != 3 || test.UTF16Str != "hello world" {
t.Error("packet data does not match!") t.Error("decoded packet data does not match!")
} }
} }