public void TestAccept()
        {
            bool a = false;
            bool b = false;
            bool c = false;
            bool d = false;
            bool e = false;
            bool f = false;

            int count = 0;

            PriorityQueue <string>   q       = GetSimpleTestPriorityQueue();
            TrackingVisitor <string> visitor = new TrackingVisitor <string>();

            q.Accept(visitor);

            for (int i = 0; i < visitor.TrackingList.Count; i++)
            {
                count++;

                if (visitor.TrackingList[i] == "a")
                {
                    a = true;
                }
                else if (visitor.TrackingList[i] == "b")
                {
                    b = true;
                }
                else if (visitor.TrackingList[i] == "c")
                {
                    c = true;
                }
                else if (visitor.TrackingList[i] == "d")
                {
                    d = true;
                }
                else if (visitor.TrackingList[i] == "e")
                {
                    e = true;
                }
                else if (visitor.TrackingList[i] == "f")
                {
                    f = true;
                }
            }

            Assert.AreEqual(a, true);
            Assert.AreEqual(b, true);
            Assert.AreEqual(c, true);
            Assert.AreEqual(d, true);
            Assert.AreEqual(e, true);
            Assert.AreEqual(f, true);

            Assert.AreEqual(count, 6);
        }
        public void TestNullVisitor()
        {
            PriorityQueue <string> q = GetTestPriorityQueue();

            q.Accept(null);
        }