Пример #1
0
        public void TestReverse()
        {
            linklist.Clear();

            for (int i = 0; i < 100; i++)
            {
                linklist.Append(i);
            }

            int count = ValidateListContents(linklist);

            Assert.AreEqual(count, linklist.Count);

            linklist.Reverse();

            var iter = linklist.GetIterator();

            count = linklist.Count;

            while (iter.IsValid())
            {
                Assert.AreEqual(--count, iter.GetData());
                iter.MoveNext();
            }
        }
Пример #2
0
        public void TestVowelList()
        {
            SLinkedList <string> vowels = new SLinkedList <string>();

            vowels.Append("a");
            vowels.Append("e");
            vowels.Append("i");
            vowels.Append("o");
            vowels.Append("u");

            SNode <string> head = vowels.Head;

            var it = vowels.GetIterator();

            Assert.AreEqual("a", it.GetData()); it.MoveNext();
            Assert.AreEqual("e", it.GetData()); it.MoveNext();
            Assert.AreEqual("i", it.GetData()); it.MoveNext();
            Assert.AreEqual("o", it.GetData()); it.MoveNext();
            Assert.AreEqual("u", it.GetData()); it.MoveNext();

            //foreach (var vowel in vowels)
            //{
            //    Console.WriteLine(vowel);
            //}
        }
Пример #3
0
        /// <summary>
        /// This simple validation function assumes that data exists in the list
        /// in sequential, ascending order e.g. {0,1,2,3,4,5, etc...}
        /// </summary>
        /// <param name="linklist"></param>
        /// <returns></returns>
        private static int ValidateListContents(SLinkedList <int> linklist)
        {
            int count = 0;

            var iter = linklist.GetIterator();

            while (iter.IsValid())
            {
                Assert.AreEqual(count++, iter.GetData());
                iter.MoveNext();
            }
            return(count);
        }