Ejemplo n.º 1
0
        public void EmptyListHasNoRearAndFront()
        {
            var sut = new SinglyCircularLinkedList <int>(null);

            Assert.Null(sut.GetFront());
            Assert.Null(sut.GetRear());
        }
        public void DequeueReturnsElementsInOrderReversedToEnqueue()
        {
            var node = new Node <int>
            {
                Value = 1,
                Next  = new Node <int>
                {
                    Value = 2,
                    Next  = new Node <int>
                    {
                        Value = 3,
                        Next  = null
                    }
                }
            };
            var sut = SinglyCircularLinkedList <int> .FromSingleLinkedList(new SinglyLinkedList <int>(node));

            var first  = sut.Dequeue();
            var second = sut.Dequeue();
            var third  = sut.Dequeue();

            Assert.Empty(sut.Traverse());
            Assert.Equal(1, first.Value);
            Assert.Equal(2, second.Value);
            Assert.Equal(3, third.Value);
        }
Ejemplo n.º 3
0
        public void OneNodeListHasTheSameRearAndFront()
        {
            var sut = new SinglyCircularLinkedList <int>(null);

            sut.Enqueue(1);

            Assert.Same(sut.GetFront(), sut.GetRear());
        }
Ejemplo n.º 4
0
        public void DequeueEmptiesSingleNodeList()
        {
            var sut = new SinglyCircularLinkedList <int>(null);

            sut.Enqueue(1);
            sut.Dequeue();

            Assert.Empty(sut.Traverse());
        }
Ejemplo n.º 5
0
        public void Dequeue()
        {
            var sut = new SinglyCircularLinkedList <int>(null);

            sut.Enqueue(1);
            sut.Enqueue(2);
            sut.Enqueue(3);

            Assert.Equal(1, sut.Dequeue().Value);
        }
        public void DequeueEmptiesSingleNodeList()
        {
            var sut = SinglyCircularLinkedList <int> .FromSingleLinkedList(new SinglyLinkedList <int>(new Node <int> {
                Value = 1
            }));

            sut.Dequeue();

            Assert.Empty(sut.Traverse());
        }
Ejemplo n.º 7
0
        public void Traverse()
        {
            var sut = new SinglyCircularLinkedList <int>(null);

            sut.Enqueue(1);
            sut.Enqueue(2);
            sut.Enqueue(3);

            Assert.Equal(3, sut.Traverse().Count);
            Assert.Equal(1, sut.Traverse().First());
            Assert.Equal(2, sut.Traverse().Skip(1).First());
            Assert.Equal(3, sut.Traverse().Skip(2).First());
        }
Ejemplo n.º 8
0
        public void DequeueReturnsElementsInOrderReversedToEnqueue()
        {
            var sut = new SinglyCircularLinkedList <int>(null);

            sut.Enqueue(1);
            sut.Enqueue(2);
            sut.Enqueue(3);
            var first  = sut.Dequeue();
            var second = sut.Dequeue();
            var third  = sut.Dequeue();

            Assert.Empty(sut.Traverse());
            Assert.Equal(1, first.Value);
            Assert.Equal(2, second.Value);
            Assert.Equal(3, third.Value);
        }
        public void Dequeue()
        {
            var node = new Node <int>
            {
                Value = 1,
                Next  = new Node <int>
                {
                    Value = 2,
                    Next  = new Node <int>
                    {
                        Value = 3,
                        Next  = null
                    }
                }
            };

            var sut = SinglyCircularLinkedList <int> .FromSingleLinkedList(new SinglyLinkedList <int>(node));

            Assert.Equal(1, sut.Dequeue().Value);
        }
        public void Traverse()
        {
            var node = new Node <int>
            {
                Value = 1,
                Next  = new Node <int>
                {
                    Value = 2,
                    Next  = new Node <int>
                    {
                        Value = 3,
                        Next  = null
                    }
                }
            };
            var sut = SinglyCircularLinkedList <int> .FromSingleLinkedList(new SinglyLinkedList <int>(node));

            Assert.Equal(3, sut.Traverse().Count);
            Assert.Equal(1, sut.Traverse().First());
            Assert.Equal(2, sut.Traverse().Skip(1).First());
            Assert.Equal(3, sut.Traverse().Skip(2).First());
        }
        public void DequeueEmptiesList()
        {
            var node = new Node <int>
            {
                Value = 1,
                Next  = new Node <int>
                {
                    Value = 2,
                    Next  = new Node <int>
                    {
                        Value = 3,
                        Next  = null
                    }
                }
            };
            var sut = SinglyCircularLinkedList <int> .FromSingleLinkedList(new SinglyLinkedList <int>(node));

            sut.Dequeue();
            sut.Dequeue();
            sut.Dequeue();

            Assert.Empty(sut.Traverse());
        }
Ejemplo n.º 12
0
        public void DequeFromEmptyListDoesntThrowAnError()
        {
            var sut = new SinglyCircularLinkedList <int>(null);

            Assert.Null(sut.Dequeue());
        }