示例#1
0
        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>();
        }
示例#2
0
        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);
        }
示例#3
0
        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>();
        }
示例#4
0
        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);
        }