Пример #1
0
    public void SendingNetworkMessage()
    {
        WriteOnlyMemoryStream writeOnlyMemoryStream = new WriteOnlyMemoryStream();
        TcpAdapter            tcpAdapter            = new TcpAdapter(writeOnlyMemoryStream, null);

        tcpAdapter.Start();

        // ConnectServerRequest from TCP Adapter.
        ConnectServerRequest connectServerRequest = new ConnectServerRequest(
            NetworkMessage.EventType_ConnectServer,
            BitConverter.ToUInt32(BytesUtils.HexStringToByteArray("1289 CB79"), 0),
            'A',
            new char[] { 'h', 'e', 'l', 'l', 'o' },
            new char[] { 'p', 'a', 's', 's', '!' });

        tcpAdapter.Send(connectServerRequest);

        // Wait data conversion.
        Thread.Sleep(200);

        byte[] raw_request = writeOnlyMemoryStream.buffer;
        Assert.AreEqual(BytesUtils.Slice(raw_request, 0, 2), BytesUtils.HexStringToByteArray("0005"));
        Assert.AreEqual(BytesUtils.Slice(raw_request, 2, 4), BytesUtils.HexStringToByteArray("1289 CB79"));
        Assert.AreEqual(BitConverter.ToString(raw_request, 6, 256), "hello");
        Assert.AreEqual(BitConverter.ToString(raw_request, 262, 256), "pass!");
    }
Пример #2
0
 public static void WriteUInt32(uint value, WriteOnlyMemoryStream output)
 {
     while ((value & 0xFFFFFF80) != 0)
     {
         output.WriteByte((byte)((value & 0x7F) | 0x80));
         value >>= 7;
     }
     output.WriteByte((byte)(value & 0x7F));
 }
Пример #3
0
 public static void WriteUInt32(uint value, WriteOnlyMemoryStream output)
 {
     while ((value & 0xFFFFFF80) != 0)
     {
         output.WriteByte((byte)((value & 0x7F) | 0x80));
         value >>= 7;
     }
     output.WriteByte((byte)(value & 0x7F));
 }
Пример #4
0
        public void UInt_WrittenAsVarint_IsSameUInt_When_ReadedBack()
        {
            Prop.ForAll<uint>(num =>
            {
                using (var wms = new WriteOnlyMemoryStream())
                {
                    Varint.WriteUInt32(num, wms);
                    var varintBytes = wms.ToArray();

                    using (var ms = new ReadOnlyMemoryStream(varintBytes))
                    {
                        var readed = Varint.ReadUInt32(ms);
                        return readed == num;
                    }
                }
            }).QuickCheckThrowOnFailure();
        }
Пример #5
0
        public void UInt_WrittenAsVarint_IsSameUInt_When_ReadedBack()
        {
            Prop.ForAll <uint>(num =>
            {
                using (var wms = new WriteOnlyMemoryStream())
                {
                    Varint.WriteUInt32(num, wms);
                    var varintBytes = wms.ToArray();

                    using (var ms = new ReadOnlyMemoryStream(varintBytes))
                    {
                        var readed = Varint.ReadUInt32(ms);
                        return(readed == num);
                    }
                }
            }).QuickCheckThrowOnFailure();
        }