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); }
public void OneNodeListHasTheSameRearAndFront() { var sut = new SinglyCircularLinkedList <int>(null); sut.Enqueue(1); Assert.Same(sut.GetFront(), sut.GetRear()); }
public void DequeueEmptiesSingleNodeList() { var sut = new SinglyCircularLinkedList <int>(null); sut.Enqueue(1); sut.Dequeue(); Assert.Empty(sut.Traverse()); }
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()); }
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()); }
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()); }
public void DequeFromEmptyListDoesntThrowAnError() { var sut = new SinglyCircularLinkedList <int>(null); Assert.Null(sut.Dequeue()); }