public void InsertRange_AtStart() { var list = new LightweightList <int>(); list.InsertRange(0, Enumerable.Range(10, 10).ToArray()); list.InsertRange(0, Enumerable.Range(0, 10).ToArray()); Assert.Equal(20, list.Capacity); Assert.Equal(20, list.GetInternalArray().Length); Assert.Equal(20, list.Count); Assert.Equal(20, list.AsSpan().Length); var span = list.AsSpan(); var arr = list.GetInternalArray(); for (int i = 0; i < 10; i++) { Assert.Equal(i, list[i]); Assert.Equal(i, span[i]); Assert.Equal(i, arr[i]); } for (int i = 10; i < 20; i++) { Assert.Equal(i, list[i]); Assert.Equal(i, span[i]); Assert.Equal(i, arr[i]); } }
public void InsertRange_InMiddle() { var list = new LightweightList <int>(); list.InsertRange(0, Enumerable.Range(0, 10).ToArray()); list.InsertRange(4, Enumerable.Range(40, 10).ToArray()); Assert.Equal(20, list.Capacity); Assert.Equal(20, list.GetInternalArray().Length); Assert.Equal(20, list.Count); Assert.Equal(20, list.AsSpan().Length); var span = list.AsSpan(); var arr = list.GetInternalArray(); for (int i = 0; i < 4; i++) { Assert.Equal(i, list[i]); Assert.Equal(i, span[i]); Assert.Equal(i, arr[i]); } for (int i = 4, j = 40; i < 14; i++, j++) { Assert.Equal(j, list[i]); Assert.Equal(j, span[i]); Assert.Equal(j, arr[i]); } for (int i = 4, j = 40; i < 14; i++, j++) { Assert.Equal(j, list[i]); Assert.Equal(j, span[i]); Assert.Equal(j, arr[i]); } for (int i = 14, j = 4; i < 20; i++, j++) { Assert.Equal(j, list[i]); Assert.Equal(j, span[i]); Assert.Equal(j, arr[i]); } }
public void InsertRange_IntoEmptyList() { int[] insertArr = Enumerable.Range(0, 10).ToArray(); var list = new LightweightList <int>(); list.InsertRange(0, insertArr); Assert.Equal(10, list.Capacity); Assert.Equal(10, list.GetInternalArray().Length); Assert.Equal(10, list.Count); Assert.Equal(10, list.AsSpan().Length); var span = list.AsSpan(); var arr = list.GetInternalArray(); for (int i = 0; i < 10; i++) { Assert.Equal(i, list[i]); Assert.Equal(i, span[i]); Assert.Equal(i, arr[i]); } }