public void TestGettingNthNode() { // Arrange var SUT = new ComputamikeDoublyLinkedList(); var newNode = new DoublyLinkedListNode() { Data = "123" }; var newNode2 = new DoublyLinkedListNode() { Data = "456" }; var newNode3 = new DoublyLinkedListNode() { Data = "789" }; SUT.Add(newNode); SUT.Add(newNode2); SUT.Add(newNode3); // Act var firstItem = SUT[0]; var secondItem = SUT[1]; var thirdItem = SUT[2]; // Assert Assert.Equal(firstItem.Data, newNode.Data); Assert.Equal(secondItem.Data, newNode2.Data); Assert.Equal(thirdItem.Data, newNode3.Data); }
public void TestRemovingANodeAtNthNode() { // Arrange var SUT = new ComputamikeDoublyLinkedList(); var newNode = new DoublyLinkedListNode() { Data = "123" }; var newNode2 = new DoublyLinkedListNode() { Data = "456" }; var newNode3 = new DoublyLinkedListNode() { Data = "789" }; SUT.Add(newNode); SUT.Add(newNode2); SUT.Add(newNode3); // Act SUT.RemoveAt(1); //Assert Assert.Equal("123", SUT[0].Data); Assert.Equal("789", SUT[1].Data); }
public void TestAddingAFirstNode() { // Arrange var SUT = new ComputamikeDoublyLinkedList(); var newNode = new DoublyLinkedListNode() { Data = "123" }; // Act SUT.Add(newNode); // Assert Assert.Equal(SUT.FirstNode, SUT.LastNode); }
public void TestInsertingANodeAtNthNode() { // Arrange var SUT = new ComputamikeDoublyLinkedList(); var newNode = new DoublyLinkedListNode() { Data = "123" }; var newNode2 = new DoublyLinkedListNode() { Data = "456" }; var newNode3 = new DoublyLinkedListNode() { Data = "789" }; SUT.Add(newNode); SUT.Add(newNode2); SUT.Add(newNode3); // Act var newNode2b = new DoublyLinkedListNode() { Data = "777" }; SUT.Add(1, newNode2b); //Assert Assert.Equal("123", SUT[0].Data); Assert.Equal("456", SUT[1].Data); Assert.Equal("777", SUT[2].Data); Assert.Equal("789", SUT[3].Data); // Assert that navigation works on the newly added Node. Assert.Equal("456", SUT[2].Prev.Data); Assert.Equal("789", SUT[2].Next.Data); }