示例#1
0
        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.");
            }
        }