示例#1
0
        public void CheckHasLoopV1_01_Does()
        {
            //arrange
            MyLinkedList list          = new MyLinkedList();
            MLLElement   current       = list.Root;
            MLLElement   mLLElement3rd = null;

            for (int i = 0; i < 10; i++)
            {
                MLLElement mLLElement = new MLLElement()
                {
                    Value = i + 1
                };
                current.Next = mLLElement;
                current      = mLLElement;

                if (i == 3)
                {
                    mLLElement3rd = current;
                }
            }

            current.Next = mLLElement3rd;

            //act
            bool hasLoops = list.HasLoop();

            //assert
            Assert.AreEqual(true, hasLoops);
        }
示例#2
0
        public void CheckHasLoopV2_02_Does()
        {
            //arrange
            MyLinkedList list = new MyLinkedList();
            MLLElement   root = list.Root;
            MLLElement   next = new MLLElement()
            {
                Value = 1, Next = root
            };

            root.Next = next;

            //act
            bool hasLoops = list.HasLoop2();

            //assert
            Assert.AreEqual(true, hasLoops);
        }