public void ObservableCollectionEx_TestInsertRange() { ObservableCollectionEx <int> collection = new ObservableCollectionEx <int>(); List <int> list = new List <int>(); for (var i = 200001; i <= 300000; i++) { list.Add(i); } collection.AddRange(list); Assert.AreEqual(100000, collection.Count); Assert.AreEqual(300000, collection[collection.Count - 1]); list = new List <int>(); for (var i = 1; i <= 100000; i++) { list.Add(i); } collection.InsertRange(list); Assert.AreEqual(200000, collection.Count); Assert.AreEqual(1, collection[0]); Assert.AreEqual(100000, collection[99999]); Assert.AreEqual(300000, collection[collection.Count - 1]); list = new List <int>(); for (var i = 100001; i <= 200000; i++) { list.Add(i); } collection.InsertRange(100000, list); Assert.AreEqual(300000, collection.Count); Assert.AreEqual(1, collection[0]); Assert.AreEqual(100000, collection[99999]); Assert.AreEqual(100001, collection[100000]); Assert.AreEqual(200000, collection[199999]); Assert.AreEqual(200001, collection[200000]); Assert.AreEqual(300000, collection[collection.Count - 1]); }