示例#1
0
        public void SQP_SerializeQueryResponseHeader_NoError()
        {
            var id      = (uint)1337;
            var version = (ushort)12345;
            var packet  = (byte)3;
            var last    = (byte)9;

            var snd = new QueryResponseHeader();

            snd.Header.ChallangeId = id;
            snd.Version            = version;
            snd.CurrentPacket      = packet;
            snd.LastPacket         = last;

            snd.ToStream(ref writer);

            var rcv = new QueryResponseHeader();

            rcv.FromStream(ref reader);

            Assert.AreEqual((byte)SQPMessageType.QueryResponse, rcv.Header.Type);
            Assert.AreEqual(id, (uint)rcv.Header.ChallangeId);
            Assert.AreEqual(version, rcv.Version);
            Assert.AreEqual(packet, rcv.CurrentPacket);
            Assert.AreEqual(last, rcv.LastPacket);
        }
示例#2
0
        public void SQP_SerializeServerInfo_NoError()
        {
            var current = (ushort)34;
            var max     = (ushort)35;
            var port    = (ushort)35001;
            var build   = "2018.3";

            var header = new QueryResponseHeader();

            header.Header.ChallangeId = 1337;
            header.Version            = 12345;
            header.CurrentPacket      = 12;
            header.LastPacket         = 13;

            var snd = new SQP.ServerInfo();

            snd.QueryHeader = header;
            snd.ServerInfoData.CurrentPlayers = current;
            snd.ServerInfoData.MaxPlayers     = max;
            snd.ServerInfoData.ServerName     = "Server";
            snd.ServerInfoData.GameType       = "GameType";
            snd.ServerInfoData.BuildId        = "2018.3";
            snd.ServerInfoData.Map            = "Level0";
            snd.ServerInfoData.Port           = port;

            snd.ToStream(ref writer);

            var rcv = new SQP.ServerInfo();

            reader  = new DataStreamReader(writer, 0, writer.Length);
            context = default(DataStreamReader.Context);
            rcv.FromStream(reader, ref context);

            Assert.AreEqual((byte)SQPMessageType.QueryResponse, rcv.QueryHeader.Header.Type);
            Assert.AreEqual((uint)header.Header.ChallangeId, (uint)rcv.QueryHeader.Header.ChallangeId);
            Assert.AreEqual(header.Version, rcv.QueryHeader.Version);
            Assert.AreEqual(header.CurrentPacket, rcv.QueryHeader.CurrentPacket);
            Assert.AreEqual(header.LastPacket, rcv.QueryHeader.LastPacket);

            Assert.AreEqual(current, (ushort)rcv.ServerInfoData.CurrentPlayers);
            Assert.AreEqual(max, (ushort)rcv.ServerInfoData.MaxPlayers);
            Assert.AreEqual(port, (ushort)rcv.ServerInfoData.Port);

            Assert.AreEqual(build, rcv.ServerInfoData.BuildId);
        }