Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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>()));
        }
Esempio n. 3
0
        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"));
        }