public void RemoveFirst_SeveralElements_ShouldRemoveElementsCorrectly() { // Arrange var list = new DoublyLinkedList <int>(); list.AddLast(5); list.AddLast(6); list.AddLast(7); // Act var element = list.RemoveFirst(); // Assert Assert.Equal(5, element); Assert.Equal(2, list.Count); var items = new List <int>(); list.ForEach(items.Add); Assert.Equal(items, new List <int> { 6, 7 }); }
public void IEnumerable_NonGeneric_MultipleElements() { // Arrange var list = new DoublyLinkedList <object>(); list.AddLast("Five"); list.AddLast(6); list.AddLast(7.77); // Act var enumerator = ((IEnumerable)list).GetEnumerator(); var items = new List <object>(); while (enumerator.MoveNext()) { items.Add(enumerator.Current); } // Assert Assert.Equal(items, new List <object>() { "Five", 6, 7.77 }); }
public void ForEach_SingleElement_ShouldEnumerateElementsCorrectly() { // Arrange var list = new DoublyLinkedList <int>(); list.AddLast(5); // Act var items = new List <int>(); list.ForEach(items.Add); // Assert Assert.Equal(items, new List <int> { 5 }); }
public void AddLast_EmptyList_ShouldAddElement() { // Arrange var list = new DoublyLinkedList <int>(); // Act list.AddLast(5); // Assert Assert.Equal(1, list.Count); var items = new List <int>(); list.ForEach(items.Add); Assert.Equal(items, new List <int> { 5 }); }
public void RemoveFirst_OneElement_ShouldMakeListEmpty() { // Arrange var list = new DoublyLinkedList <int>(); list.AddLast(5); // Act var element = list.RemoveFirst(); // Assert Assert.Equal(5, element); Assert.Equal(0, list.Count); var items = new List <int>(); list.ForEach(items.Add); Assert.Equal(items, new List <int> { }); }