public void InsertAndClear_BehavesAsExpected() { var item1 = new SqlBulkCopyColumnMapping(0, 0); var item2 = new SqlBulkCopyColumnMapping(1, 1); var item3 = new SqlBulkCopyColumnMapping(2, 2); SqlBulkCopyColumnMappingCollection collection = CreateCollection(); collection.Insert(0, item1); collection.Insert(1, item2); collection.Insert(2, item3); Assert.Equal(3, collection.Count); Assert.Same(item1, collection[0]); Assert.Same(item2, collection[1]); Assert.Same(item3, collection[2]); collection.Clear(); Assert.Equal(0, collection.Count); collection.Add(item1); collection.Add(item3); Assert.Equal(2, collection.Count); Assert.Same(item1, collection[0]); Assert.Same(item3, collection[1]); collection.Insert(1, item2); Assert.Equal(3, collection.Count); Assert.Same(item1, collection[0]); Assert.Same(item2, collection[1]); Assert.Same(item3, collection[2]); collection.Clear(); Assert.Equal(0, collection.Count); IList list = collection; list.Insert(0, item1); list.Insert(1, item2); list.Insert(2, item3); Assert.Equal(3, list.Count); Assert.Same(item1, list[0]); Assert.Same(item2, list[1]); Assert.Same(item3, list[2]); list.Clear(); Assert.Equal(0, list.Count); list.Add(item1); list.Add(item3); Assert.Equal(2, list.Count); Assert.Same(item1, list[0]); Assert.Same(item3, list[1]); list.Insert(1, item2); Assert.Equal(3, list.Count); Assert.Same(item1, list[0]); Assert.Same(item2, list[1]); Assert.Same(item3, list[2]); list.Clear(); Assert.Equal(0, list.Count); }