public void BasicInsert(T?[] items, T?item, int index, int repeat) { SegmentedList <T?> list = new SegmentedList <T?>(items); for (int i = 0; i < repeat; i++) { list.Insert(index, item); } Assert.True(list.Contains(item)); //"Expect it to contain the item." Assert.Equal(list.Count, items.Length + repeat); //"Expect to be the same." for (int i = 0; i < index; i++) { Assert.Equal(list[i], items[i]); //"Expect to be the same." } for (int i = index; i < index + repeat; i++) { Assert.Equal(list[i], item); //"Expect to be the same." } for (int i = index + repeat; i < list.Count; i++) { Assert.Equal(list[i], items[i - repeat]); //"Expect to be the same." } }
public void InsertValidations(T[] items) { SegmentedList <T> list = new SegmentedList <T>(items); int[] bad = new int[] { items.Length + 1, items.Length + 2, int.MaxValue, -1, -2, int.MinValue }; for (int i = 0; i < bad.Length; i++) { Assert.Throws <ArgumentOutOfRangeException>(() => list.Insert(bad[i], items[0])); //"ArgumentOutOfRangeException expected." } }