コード例 #1
0
        public void MessageFrameStreamWriter_writes_MessageFrameStreamReader_reads()
        {
            var random        = TestHelpers.CreateSemiRandomGenerator();
            var messageFrames = new Queue <MessageFrame>();

            using (var mem = new MemoryStream())
                using (var socket = new TestStreamSocket(mem))
                {
                    var writer = new MessageFrameStreamWriter(socket);
                    var reader = new MessageFrameStreamReader(socket);

                    for (var i = 0; i < 1000; i++)
                    {
                        var messageFrame = new MessageFrame
                        {
                            MessageTypeId = (ushort)random.Next(0, UInt16.MaxValue),
                            RawMessage    = TestHelpers.GetRandomBytes(random, random.Next(100 * i))
                        };
                        messageFrames.Enqueue(messageFrame);
                        writer.WriteMessageFrame(messageFrame);
                    }

                    mem.Position = 0;
                    while (messageFrames.Count > 0)
                    {
                        var messageFrameWritten = messageFrames.Dequeue();
                        var messageFrameRead    = reader.ReadMessageFrame();

                        Assert.AreEqual(messageFrameWritten, messageFrameRead);
                    }
                }
        }
コード例 #2
0
        public void MessageFrameStreamWriter_writes_MessageFrameStreamReader_reads()
        {
            var random = TestHelpers.CreateSemiRandomGenerator();
            var messageFrames = new Queue<MessageFrame>();
            using (var mem = new MemoryStream())
            using (var socket = new TestStreamSocket(mem))
            {
                var writer = new MessageFrameStreamWriter(socket);
                var reader = new MessageFrameStreamReader(socket);

                for (var i = 0; i < 1000; i++)
                {
                    var messageFrame = new MessageFrame
                    {
                        MessageTypeId = (ushort) random.Next(0, UInt16.MaxValue),
                        RawMessage = TestHelpers.GetRandomBytes(random, random.Next(100 * i))
                    };
                    messageFrames.Enqueue(messageFrame);
                    writer.WriteMessageFrame(messageFrame);
                }

                mem.Position = 0;
                while (messageFrames.Count > 0)
                {
                    var messageFrameWritten = messageFrames.Dequeue();
                    var messageFrameRead = reader.ReadMessageFrame();

                    Assert.AreEqual(messageFrameWritten, messageFrameRead);
                }
            }
        }
コード例 #3
0
        public void MessageFrameStreamReader_reads_MessageTypeId_then_Length_then_RawMessage()
        {
            var rawMessage             = new byte[] { 1, 2, 3, 4, 5 };
            var serializedMessageFrame = new byte[] { 49, 212, 5, 0, 0, 0, 1, 2, 3, 4, 5 };

            using (var mem = new MemoryStream(serializedMessageFrame))
                using (var socket = new TestStreamSocket(mem))
                {
                    var reader       = new MessageFrameStreamReader(socket);
                    var messageFrame = reader.ReadMessageFrameAsync(CancellationToken.None).Result;

                    Assert.AreEqual(54321, messageFrame.MessageTypeId);
                    Assert.AreEqual(rawMessage, messageFrame.RawMessage);
                }
        }
コード例 #4
0
        public void MessageFrameStreamReader_reads_MessageTypeId_then_Length_then_RawMessage()
        {
            var rawMessage = new byte[] {1, 2, 3, 4, 5};
            var serializedMessageFrame = new byte[] {49, 212, 5, 0, 0, 0, 1, 2, 3, 4, 5};

            using (var mem = new MemoryStream(serializedMessageFrame))
            using (var socket = new TestStreamSocket(mem))
            {
                var reader = new MessageFrameStreamReader(socket);
                var messageFrame = reader.ReadMessageFrameAsync(CancellationToken.None).Result;

                Assert.AreEqual(54321, messageFrame.MessageTypeId);
                Assert.AreEqual(rawMessage, messageFrame.RawMessage);
            }
        }