public void TestInsertRange() { var spread = new Spread <int>(0); spread.AssignFrom(sampleData); var list = spread.ToList(); var listToInsert = list.GetRange(2, 4); int oldSliceCount = spread.SliceCount; spread.InsertRange(0, listToInsert); list.InsertRange(0, listToInsert); Assert.AreEqual(oldSliceCount + listToInsert.Count, spread.SliceCount, "SliceCount after InsertRange at index 0 doesn't match."); for (int i = 0; i < spread.SliceCount; i++) { Assert.AreEqual(list[i], spread[i], "InsertRange at index 0 failed."); } oldSliceCount = spread.SliceCount; spread.InsertRange(oldSliceCount, listToInsert); list.InsertRange(oldSliceCount, listToInsert); Assert.AreEqual(oldSliceCount + listToInsert.Count, spread.SliceCount, "SliceCount after InsertRange at end of spread doesn't match."); for (int i = 0; i < spread.SliceCount; i++) { Assert.AreEqual(list[i], spread[i], "InsertRange at end of spread failed."); } }