internal void Deserialize(byte[] data, SendConnectInfoMessage expected)
    {
        var message = SendConnectInfoMessageSerializer.Default.Deserialize(data);

        message.PacketType.Should().Be(expected.PacketType);
        message.ReplySize.Should().Be(expected.ReplySize);
        message.Size.Should().Be(expected.Size);
        message.Flags.Should().Be(expected.Flags);
        message.MaxPlayers.Should().Be(expected.MaxPlayers);
        message.CurrentPlayers.Should().Be(expected.CurrentPlayers);
        message.SessionNameSize.Should().Be(expected.SessionNameSize);
        message.PasswordSize.Should().Be(expected.PasswordSize);
        message.ReservedDataSize.Should().Be(expected.ReservedDataSize);
        message.ApplicationReservedDataSize.Should().Be(expected.ApplicationReservedDataSize);
        message.GuidInstance.Should().Be(expected.GuidInstance);
        message.GuidApplication.Should().Be(expected.GuidApplication);
        message.Dpnid.Should().Be(expected.Dpnid);
        message.Version.Should().Be(expected.Version);
        message.VersionNotUsed.Should().Be(expected.VersionNotUsed);
        message.EntryCount.Should().Be(expected.EntryCount);
        message.MembershipCount.Should().Be(expected.MembershipCount);
        message.NameTableEntries.Should().Equal(expected.NameTableEntries);
        message.NameTableMemberships.Should().Equal(expected.NameTableMemberships);
        message.ApplicationReservedData.ToArray().Should().Equal(expected.ApplicationReservedData.ToArray());
        message.ReservedData.ToArray().Should().Equal(expected.ReservedData.ToArray());
        message.Password.Should().Be(expected.Password);
        message.SessionName.Should().Be(expected.SessionName);
        message.Reply.ToArray().Should().Equal(expected.Reply.ToArray());
    }
 internal void Serialize(byte[] expected, SendConnectInfoMessage message)
 {
     SendConnectInfoMessageSerializer.Default.Serialize(message).Should().Equal(expected);
 }