public void List_CopyTo_NullArray_IsRejected()
            {
                var source = new List <int> {
                    1, 2, 3, 4
                };
                var list = new ReadWriteList <int>(source);

                list.CopyTo(null, 0);
            }
            public void List_CopyTo_TooSmallArray_IsRejected()
            {
                var source = new List <int> {
                    1, 2, 3, 4
                };
                var list = new ReadWriteList <int>(source);

                int[] array = new int[3];
                list.CopyTo(array, 0);
            }
            public void List_CopyToArray_WithInvalidIndex_IsRejected()
            {
                var source = new List <int> {
                    1, 2, 3, 4
                };
                var list = new ReadWriteList <int>(source);

                int[] array = new int[5];
                list.CopyTo(array, 5);
            }
            public void List_CopyToArray_CopiesSequence()
            {
                var source = new List <int> {
                    1, 2, 3, 4
                };
                var list = new ReadWriteList <int>(source);

                int[] array = new int[5];
                list.CopyTo(array, 1);
                Assert.IsTrue(array.SequenceEqual(new[] { 0, 1, 2, 3, 4 }), "List should copy to an array.");
            }