public void Should_Copy_To_Throw_If_Incorrect_ArrayIndex() { //arrange var node1 = new MyDoublyLinkedListNode <int>(2); var node2 = new MyDoublyLinkedListNode <int>(4); var node3 = new MyDoublyLinkedListNode <int>(3); var node4 = new MyDoublyLinkedListNode <int>(5); node1.Next = node2; node2.Next = node3; node3.Next = node4; node2.Prev = node1; node3.Prev = node2; node4.Prev = node3; var list = new MyDoublyLinkedList <int>(node1); var array = new int[3]; //act Action actLower = () => list.CopyTo(array, -1); Action actHigher = () => list.CopyTo(array, 1); //assert actLower.ShouldThrow <ArgumentOutOfRangeException>(); actHigher.ShouldThrow <ArgumentOutOfRangeException>(); }
public void Should_Copy_To() { //arrange var node1 = new MyDoublyLinkedListNode <int>(2); var node2 = new MyDoublyLinkedListNode <int>(4); var node3 = new MyDoublyLinkedListNode <int>(3); var node4 = new MyDoublyLinkedListNode <int>(5); node1.Next = node2; node2.Next = node3; node3.Next = node4; node2.Prev = node1; node3.Prev = node2; node4.Prev = node3; var list = new MyDoublyLinkedList <int>(node1); var array = new int[6]; //act list.CopyTo(array, 2); //assert array[0].ShouldBeEquivalentTo(0); array[1].ShouldBeEquivalentTo(0); array[2].ShouldBeEquivalentTo(2); array[3].ShouldBeEquivalentTo(4); array[4].ShouldBeEquivalentTo(3); array[5].ShouldBeEquivalentTo(5); }
public void Should_Copy_To_Throw_If_Null() { //arrange var list = new MyDoublyLinkedList <int>(); //act Action act = () => list.CopyTo(null, 1); //assert act.ShouldThrow <ArgumentNullException>(); }
public void Should_Copy_To_Empty_List() { //arrange var list = new MyDoublyLinkedList <int>(); var array = new int[3]; //act list.CopyTo(array, 1); //assert array[0].ShouldBeEquivalentTo(0); array[1].ShouldBeEquivalentTo(0); array[2].ShouldBeEquivalentTo(0); }