public void Should_FindLast_Check_Order() { //arrange var node1 = new MyDoublyLinkedListNode <int>(2); var node2 = new MyDoublyLinkedListNode <int>(4); var node3 = new MyDoublyLinkedListNode <int>(3); var node4 = new MyDoublyLinkedListNode <int>(1); var node5 = new MyDoublyLinkedListNode <int>(3); var node6 = new MyDoublyLinkedListNode <int>(6); node1.Next = node2; node2.Next = node3; node3.Next = node4; node4.Next = node5; node5.Next = node6; node2.Prev = node1; node3.Prev = node2; node4.Prev = node3; node5.Prev = node4; node6.Prev = node5; var list = new MyDoublyLinkedList <int>(node1); //act var result = list.FindLast(3); //assert result.ShouldBeEquivalentTo(node5); }
public void Should_FindLast_Odd_Length() { //arrange var node1 = new MyDoublyLinkedListNode <int>(2); var node2 = new MyDoublyLinkedListNode <int>(4); var node3 = new MyDoublyLinkedListNode <int>(3); node1.Next = node2; node2.Next = node3; node2.Prev = node1; node3.Prev = node2; var list = new MyDoublyLinkedList <int>(node1); //act var result = list.FindLast(4); //assert result.ShouldBeEquivalentTo(node2); }
public void Should_FindLast_Return_Null_If_Is_Not_Found() { //arrange var node1 = new MyDoublyLinkedListNode <int>(1); var node2 = new MyDoublyLinkedListNode <int>(2); var node3 = new MyDoublyLinkedListNode <int>(3); var node4 = new MyDoublyLinkedListNode <int>(4); node1.Next = node2; node2.Next = node3; node3.Next = node4; node2.Prev = node1; node3.Prev = node2; node4.Prev = node3; var list = new MyDoublyLinkedList <int>(node1); //act var result = list.FindLast(7); //assert result.Should().BeNull(); }