private void Test()
        {
            var queue = new MyPriorityQueue <int>();

            Assert.Equal(0, queue.Length);

            Array.ForEach(Enumerable.Range(1, 20).ToArray(), i => queue.Enqueue(i));

            Assert.Equal(20, queue.Length);

            Array.ForEach(Enumerable.Range(21, 20).ToArray(), i => queue.Enqueue(i));

            Assert.Equal(40, queue.Length);
        }
        void TestPrioritySetting()
        {
            var queue = new MyPriorityQueue <int>();

            queue.Enqueue(4);
            queue.Enqueue(5);
            queue.Enqueue(1);

            Assert.Equal(3, queue.Length);

            Assert.Equal(1, queue.Dequeue());
            Assert.Equal(2, queue.Length);

            Assert.Equal(4, queue.Dequeue());
            Assert.Equal(1, queue.Length);

            Assert.Equal(5, queue.Dequeue());
            Assert.Equal(0, queue.Length);
        }