public void ListToTree(int[] values)
        {
            AVL tree = new AVL(values);

            Assert.AreEqual(values.Length, tree.Count());
            Assert.IsTrue(isAVLTreeValid(tree));
        }
        public void Peek(int[] values)
        {
            AVL tree = new AVL(values);
            int peek = tree.Peek();

            Assert.AreEqual(peek, values.Min());
            Assert.AreEqual(values.Length, tree.Count());
        }
        public void Insert(int[] values)
        {
            AVL tree = new AVL(values);

            tree.Add(5);
            Assert.AreEqual(values.Length + 1, tree.Count());
            Assert.IsTrue(isAVLTreeValid(tree));
        }
        public void Pop(int[] values)
        {
            AVL tree = new AVL(values);
            int pop  = tree.Pop();

            Assert.AreEqual(pop, values.Min());
            Assert.AreEqual(values.Length - 1, tree.Count());
            Assert.IsTrue(isAVLTreeValid(tree));
        }