Ejemplo n.º 1
0
        public void FindTest(params int[] values)
        {
            //arrange
            ILinkedList <int> linkedList = new AssociativeLinkedList <int>(values);

            //act
            int value = linkedList[0];

            //assert
            Assert.IsTrue(value == values[0]);
        }
Ejemplo n.º 2
0
        public void LinkedListContainsAndAddTest(int value, params int[] values)
        {
            //arrange
            ILinkedList <int> linkedList = new AssociativeLinkedList <int>(values);

            //act
            linkedList.Add(value);

            //assert
            Assert.IsTrue(linkedList.Contains(value));
        }
Ejemplo n.º 3
0
        private AssociativeLinkedList <T> GetRightBranch(AssociativeTreeNode <T>[] array, AssociativeTreeNode <T> associativeTreeNode)
        {
            AssociativeLinkedList <T> associativeLinkedList = new AssociativeLinkedList <T>();

            while (associativeTreeNode != null)
            {
                associativeLinkedList.Add(associativeTreeNode.Value);
                associativeTreeNode = (associativeTreeNode.Right != -1) ? array[associativeTreeNode.Right] : null;
            }

            return(associativeLinkedList);
        }
Ejemplo n.º 4
0
        public void LinkedListDeleteTest(params int[] values)
        {
            //arrange
            ILinkedList <int> linkedList = new AssociativeLinkedList <int>(values);

            //act
            int last = linkedList[linkedList.Count - 1];

            linkedList.Remove(linkedList.Count - 1);

            //assert
            Assert.IsTrue(!linkedList.Contains(last));
        }
Ejemplo n.º 5
0
        private void StepToAllNodes(AssociativeTreeNode <T>[] array, AssociativeTreeNode <T> associativeTreeNode)
        {
            if (associativeTreeNode != null)
            {
                var leftNode = (associativeTreeNode.Left != -1) ? array[associativeTreeNode.Left] : null;
                StepToAllNodes(array, leftNode);

                var linkedList = GetRightBranch(array, associativeTreeNode);

                if (maxRightBranch == null)
                {
                    maxRightBranch = linkedList;
                }
                else if (maxRightBranch.Count < linkedList.Count)
                {
                    maxRightBranch = linkedList;
                }


                var rightNode = (associativeTreeNode.Right != -1) ? array[associativeTreeNode.Right] : null;
                StepToAllNodes(array, rightNode);
            }
        }