public void ReadOnlyCollectionBuilder_IList_Remove() { IList rocb = new ReadOnlyCollectionBuilder <int>(new[] { 1, 2, 2, 4 }); Assert.True(new[] { 1, 2, 2, 4 }.SequenceEqual(rocb.Cast <int>())); rocb.Remove(0); rocb.Remove("bar"); rocb.Remove(null); Assert.True(new[] { 1, 2, 2, 4 }.SequenceEqual(rocb.Cast <int>())); rocb.Remove(2); Assert.True(new[] { 1, 2, 4 }.SequenceEqual(rocb.Cast <int>())); rocb.Remove(1); Assert.True(new[] { 2, 4 }.SequenceEqual(rocb.Cast <int>())); rocb.Remove(4); Assert.True(new[] { 2 }.SequenceEqual(rocb.Cast <int>())); rocb.Remove(2); Assert.Equal(0, rocb.Count); }
public void ReadOnlyCollectionBuilder_IList_Insert() { IList rocb = new ReadOnlyCollectionBuilder <int>(); Assert.Equal(0, rocb.Count); Assert.Throws <ArgumentOutOfRangeException>(() => rocb.Insert(-1, 1)); AssertExtensions.Throws <ArgumentOutOfRangeException>("index", () => rocb.Insert(1, 1)); AssertExtensions.Throws <ArgumentException>("value", () => rocb.Insert(1, "bar")); AssertExtensions.Throws <ArgumentException>("value", () => rocb.Insert(1, null)); rocb.Insert(0, 1); Assert.True(new[] { 1 }.SequenceEqual(rocb.Cast <int>())); rocb.Insert(0, 2); Assert.True(new[] { 2, 1 }.SequenceEqual(rocb.Cast <int>())); rocb.Insert(0, 3); Assert.True(new[] { 3, 2, 1 }.SequenceEqual(rocb.Cast <int>())); rocb.Insert(1, 4); Assert.True(new[] { 3, 4, 2, 1 }.SequenceEqual(rocb.Cast <int>())); rocb.Insert(4, 5); Assert.True(new[] { 3, 4, 2, 1, 5 }.SequenceEqual(rocb.Cast <int>())); }
public void ReadOnlyCollectionBuilder_IList_Add() { IList rocb = new ReadOnlyCollectionBuilder <int>(); for (int i = 1; i <= 10; i++) { rocb.Add(i); Assert.True(Enumerable.Range(1, i).SequenceEqual(rocb.Cast <int>())); } Assert.Throws <ArgumentException>(() => rocb.Add(null)); Assert.Throws <ArgumentException>(() => rocb.Add("foo")); }