コード例 #1
0
 private void CompareList(List <int> _list, ZLinkedList <int> _linkedList)
 {
     Assert.AreEqual(_list.Count, _linkedList.Count);
     Assert.AreEqual(_list[0], _linkedList.Head.Value);
     Assert.AreEqual(_list[_list.Count - 1], _linkedList.Tail.Value);
     CollectionAssert.AreEqual(_list, _linkedList.ToList());
 }
コード例 #2
0
        public void ZLinkedListTestClear()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();

            linkedList.Clear();
            Assert.AreEqual(linkedList.Count, 0);
        }
コード例 #3
0
        public void ZLinkedListTestSort()
        {
            ZLinkedList <int> linkedList = new ZLinkedList <int>();
            List <int>        _list      = new List <int>()
            {
                3
            };

            linkedList.Add(3);
            linkedList.Sort();
            _list.Sort();
            CompareList(_list, linkedList);

            linkedList = new ZLinkedList <int>();
            _list      = new List <int>()
            {
                3, 2
            };
            linkedList.Add(3);
            linkedList.Add(2);
            linkedList.Sort();
            _list.Sort();
            CompareList(_list, linkedList);

            linkedList = InitializeZLinkedList();
            _list      = new List <int>()
            {
                6, 5, 4, 3, 2, 1, 7, 8, 9, 10
            };
            linkedList.Sort();
            _list.Sort();
            CompareList(_list, linkedList);
        }
コード例 #4
0
        public void ZLinkedListTestSearch()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();

            Assert.AreEqual(list.IndexOf(6), linkedList.Search(6));
            Assert.AreEqual(list.IndexOf(2), linkedList.Search(2));
            Assert.AreEqual(list.IndexOf(10), linkedList.Search(10));
        }
コード例 #5
0
        public void ZLinkedListTestIndex()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();

            for (int i = 0; i < list.Count; i++)
            {
                Assert.AreEqual(list[i], linkedList[i]);
            }
        }
コード例 #6
0
        private ZLinkedList <int> InitializeZLinkedList()
        {
            ZLinkedList <int> linkedList = new ZLinkedList <int>();

            for (int i = 0; i < list.Count; i++)
            {
                linkedList.Add(list[i]);
            }

            return(linkedList);
        }
コード例 #7
0
        public void ZLinkedListTestReverse()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();
            List <int>        _list      = new List <int>()
            {
                6, 5, 4, 3, 2, 1, 7, 8, 9, 10
            };

            linkedList.Reverse();
            _list.Reverse();

            CompareList(_list, linkedList);
        }
コード例 #8
0
        public void ZLinkedListTestFindStartOfLoop()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();

            ZLinkedListNode <int> node = linkedList.FindStartOfLoop();

            Assert.IsNull(node);

            linkedList.Tail.NextNode = linkedList.Head;
            node = linkedList.FindStartOfLoop();
            Assert.AreSame(linkedList.Head, node);

            linkedList.Tail.NextNode = linkedList.Head.NextNode.NextNode;
            node = linkedList.FindStartOfLoop();
            Assert.AreSame(linkedList.Head.NextNode.NextNode, node);
        }
コード例 #9
0
        public void ZLinkedListTestInsert()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();
            List <int>        _list      = new List <int>()
            {
                6, 5, 4, 3, 2, 1, 7, 8, 9, 10
            };

            linkedList.Insert(5, 11);
            _list.Insert(1, 11);
            CompareList(_list, linkedList);

            linkedList.Insert(6, 12);
            _list.Insert(0, 12);
            CompareList(_list, linkedList);

            linkedList.Insert(10, 13);
            _list.Insert(_list.Count - 1, 13);
            CompareList(_list, linkedList);
        }
コード例 #10
0
        public void ZLinkedListTestDelete()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();
            List <int>        _list      = new List <int>()
            {
                6, 5, 4, 3, 2, 1, 7, 8, 9, 10
            };

            linkedList.Delete(5);
            _list.Remove(5);
            CompareList(_list, linkedList);

            linkedList.Delete(6);
            _list.Remove(6);
            CompareList(_list, linkedList);

            linkedList.Delete(10);
            _list.Remove(10);
            CompareList(_list, linkedList);
        }
コード例 #11
0
        public void ZLinkedListTestFindMiddle()
        {
            ZLinkedList <int> linkedList = new ZLinkedList <int>();

            linkedList.Add(1);
            Assert.AreEqual(1, linkedList.FindMiddle().Value);

            linkedList.Add(2);
            Assert.AreEqual(1, linkedList.FindMiddle().Value);

            linkedList.Add(3);
            Assert.AreEqual(2, linkedList.FindMiddle().Value);

            linkedList.Add(4);
            Assert.AreEqual(2, linkedList.FindMiddle().Value);

            linkedList.Add(5);
            Assert.AreEqual(3, linkedList.FindMiddle().Value);

            linkedList.Add(6);
            Assert.AreEqual(3, linkedList.FindMiddle().Value);
        }
コード例 #12
0
        [Timeout(2000)]  // Set Timeout in Milliseconds
        public void ZLinkedListTestAdd()
        {
            ZLinkedList <int> linkedList = InitializeZLinkedList();

            CompareList(list, linkedList);
        }