示例#1
0
        public void TestMultipleDequeuing()
        {
            var buffer = new ListPacketQueue();
            var packet = new byte[10];

            packet[0] = 0xC1;
            packet[1] = 10;
            packet[2] = 255;
            buffer.AddRange(packet);
            buffer.AddRange(packet);
            var packet2 = new byte[20];

            packet2[0] = 0xC2;
            packet2[1] = 0;
            packet2[2] = 20;
            packet2[3] = 255;
            buffer.AddRange(packet2);

            var dequeued = buffer.DequeueNextPacket();

            Assert.That(dequeued, Is.Not.Null);
            dequeued = buffer.DequeueNextPacket();
            Assert.That(dequeued, Is.Not.Null);
            dequeued = buffer.DequeueNextPacket();
            Assert.That(dequeued, Is.Not.Null);
            dequeued = buffer.DequeueNextPacket();
            Assert.That(dequeued, Is.Null);
        }
示例#2
0
        public void CompletePacket()
        {
            var buffer = new ListPacketQueue();
            var packet = new byte[] { 0xC1, 4, 255, 0 };

            buffer.AddRange(packet);
            var dequeued = buffer.DequeueNextPacket();

            Assert.That(dequeued, Is.Not.Null);
        }
示例#3
0
        public void TestInvalidPacket()
        {
            var buffer = new ListPacketQueue();
            var packet = new byte[] { 0, 0, 0, 0 };

            buffer.AddRange(packet);
            Assert.Throws <System.Exception>(() =>
            {
                var dequeued = buffer.DequeueNextPacket();
            });
        }