/// <summary>
 /// 构建出一个简单的连接型队列,其中前部包含元素 10,后部为空
 /// </summary>
 /// <returns></returns>
 private static ConcatenatedLRUQueue<IFrame> ConstructSimpleConcatQueue()
 {
     IQueue<IFrame> front = new FIFOQueue<IFrame>();
     IQueue<IFrame> back = new FIFOQueue<IFrame>();
     front.Enqueue(new Frame(10));
     ConcatenatedLRUQueue<IFrame> target = new ConcatenatedLRUQueue<IFrame>(front, back);
     return target;
 }
        /// <summary>
        /// 构建出一个嵌套的连接型队列。
        /// </summary>
        /// <returns></returns>
        private static ConcatenatedLRUQueue<IFrame> ConstructNestedConcatQueue(out IQueue<IFrame>[] FIFOs)
        {
            IQueue<IFrame>[] q = new FIFOQueue<IFrame>[8];
            for (int i = 0; i < q.Length; i++)
            {
                q[i] = new FIFOQueue<IFrame>();
                q[i].Enqueue(new Frame((uint)(i * 10)));
                q[i].Enqueue(new Frame((uint)(i * 10 + 1)));
            }

            IQueue<IFrame> q01 = new ConcatenatedLRUQueue<IFrame>(q[0], q[1]),
                q23 = new ConcatenatedLRUQueue<IFrame>(q[2], q[3]),
                q45 = new ConcatenatedLRUQueue<IFrame>(q[4], q[5]),
                q67 = new ConcatenatedLRUQueue<IFrame>(q[6], q[7]);

            IQueue<IFrame> q0123 = new ConcatenatedLRUQueue<IFrame>(q01, q23),
                q4567 = new ConcatenatedLRUQueue<IFrame>(q45, q67);

            ConcatenatedLRUQueue<IFrame> target = new ConcatenatedLRUQueue<IFrame>(q0123, q4567);

            FIFOs = q;
            return target;
        }