Exemplo n.º 1
0
        public void HandleNullHeadSorted()
        {
            var list = new CircularLinkedList();
            list.InsertSorted(1);

            var head = list.Head;
            Assert.IsNotNull(head);
            Assert.AreEqual(1, head.Value);
        }
Exemplo n.º 2
0
        public void FalseLinkedListOneItem()
        {
            var list = new CircularLinkedList();

            var head = new Node { Value = 1 };

            list.Head = head;

            Assert.IsFalse(list.Detect());
        }
Exemplo n.º 3
0
        public void FalseLinkedListMultipleItems()
        {
            var list = new CircularLinkedList();

            var second = new Node { Value = 2 };
            var head = new Node { Value = 1, Next = second };

            list.Head = head;

            Assert.IsFalse(list.Detect());
        }
Exemplo n.º 4
0
        public void HandleValueInTheMiddle()
        {
            var list = new CircularLinkedList();
            list.InsertSorted(1);
            list.InsertSorted(3);
            list.InsertSorted(2);

            var head = list.Head;
            Assert.IsNotNull(head);
            Assert.AreEqual(1, head.Value);

            var second = head.Next;
            Assert.IsNotNull(second);
            Assert.AreEqual(2, second.Value);

            var third = second.Next;
            Assert.IsNotNull(third);
            Assert.AreEqual(3, third.Value);

            var circular = third.Next;
            Assert.IsNotNull(circular);
            Assert.AreEqual(1, circular.Value);
        }
Exemplo n.º 5
0
        public void TrueSingleCircular()
        {
            var list = new CircularLinkedList();
            list.InsertAtEnd(1);

            Assert.IsTrue(list.Detect());
        }
Exemplo n.º 6
0
        public void TrueMultipleItemsCircular()
        {
            var list = new CircularLinkedList();
            list.InsertAtEnd(1);
            list.InsertAtEnd(2);

            Assert.IsTrue(list.Detect());
        }
Exemplo n.º 7
0
        public void TrueLoopAtTheEnd()
        {
            var list = new CircularLinkedList();

            var third = new Node {Value = 3};
            var second = new Node { Value = 2, Next = third };
            var head = new Node { Value = 1, Next = second };
            third.Next = second;

            list.Head = head;

            Assert.IsTrue(list.Detect());
        }
Exemplo n.º 8
0
        public void InsertValueOnlyOne()
        {
            var list = new CircularLinkedList();
            list.InsertAtEnd(1);
            list.InsertAtEnd(2);

            var head = list.Head;
            Assert.IsNotNull(head);
            Assert.AreEqual(1, head.Value);

            var next = head.Next;
            Assert.IsNotNull(next);
            Assert.AreEqual(2, next.Value);

            var circular = next.Next;
            Assert.IsNotNull(circular);
            Assert.AreEqual(1, circular.Value);
        }
Exemplo n.º 9
0
        public void FalseIfHeadNull()
        {
            var list = new CircularLinkedList();

            Assert.IsFalse(list.Detect());
        }
Exemplo n.º 10
0
        public void HandleValueSmallerThanHead()
        {
            var list = new CircularLinkedList();
            list.InsertSorted(5);
            list.InsertSorted(2);

            var head = list.Head;
            Assert.IsNotNull(head);
            Assert.AreEqual(2, head.Value);

            var next = head.Next;
            Assert.IsNotNull(next);
            Assert.AreEqual(5, next.Value);

            var circular = next.Next;
            Assert.IsNotNull(circular);
            Assert.AreEqual(2, circular.Value);
        }