public void AddFrontTest() { var list = new DoublyLinkedList <string>(); list.AddFront("Charlie"); list.AddFront("Beta"); list.AddFront("Alpha"); Assert.AreEqual(3, list.Count); Assert.AreEqual("Alpha", list.GetAt(0)); Assert.AreEqual("Beta", list.GetAt(1)); Assert.AreEqual("Charlie", list.GetAt(2)); }
public void AddStart() { DoublyLinkedList <int> list = new DoublyLinkedList <int>(); list.AddFront(1); list.AddFront(0); int i = 0; foreach (var num in list) { Assert.True(num == i); i++; } }
public void Should_create_doubly_linked_list_having_multiple_nodes_using_add_front() { // arrange var card2 = Card.Hearts(2); var card4 = Card.Hearts(4); var card6 = Card.Hearts(6); var list = new DoublyLinkedList <Card>(); // act list.AddFront(card2); list.AddFront(card4); list.AddFront(card6); // assert Assert.AreEqual(expected: 3, actual: list.Count); Assert.AreEqual(expected: card6, actual: list.Head.Value); Assert.AreEqual(expected: card2, actual: list.Tail.Value); }
public void Should_remove_node_from_end_of_doubly_linked_list_having_multiple_nodes() { // arrange var card4 = Card.Hearts(4); var card6 = Card.Hearts(6); var list = new DoublyLinkedList <Card>(); // act list.AddFront(card4); list.AddFront(card6); var removedNode = list.RemoveEnd(); // assert Assert.AreEqual(expected: 1, actual: list.Count); Assert.AreEqual(expected: card6, actual: list.Head.Value); Assert.AreEqual(expected: card4, actual: removedNode.Value); Assert.AreEqual(expected: null, actual: removedNode.Next); Assert.AreEqual(expected: card6, actual: list.Tail.Value); }
public void AddFront_Correctly(IEnumerable <int> items) { var expected = items.Reverse().ToArray(); var actual = new DoublyLinkedList <int>(); foreach (var item in items) { actual.AddFront(item); } CollectionAssert.AreEqual(expected, actual); }
public void Should_get_list_of_node_values_from_singly_linked_list() { // arrange var card2 = Card.Hearts(2); var card4 = Card.Hearts(4); var card6 = Card.Hearts(6); var expectedList = new List <Card> { card6, card4, card2 }; var list = new DoublyLinkedList <Card>(); // act list.AddFront(card2); list.AddFront(card4); list.AddFront(card6); // assert CollectionAssert.AreEqual(expected: expectedList, actual: list.ToList()); }