System.Data.Tests.DataColumnCollectionTest.Remove C# (CSharp) Method

Remove() private method

private Remove ( ) : void
return void
        public void Remove()
        {
            DataTable Table = new DataTable("test_table");
            DataColumnCollection Cols = Table.Columns;

            Cols.Add("test");
            Cols.Add("test2");
            Cols.Add("test3");
            Cols.Add("test4");

            Assert.Equal(4, Cols.Count);
            Cols.Remove("test2");
            Assert.Equal(3, Cols.Count);
            Cols.Remove("TEST3");
            Assert.Equal(2, Cols.Count);

            try
            {
                Cols.Remove("_test_");
                Assert.False(true);
            }
            catch (Exception e)
            {
                Assert.Equal(typeof(ArgumentException), e.GetType());
                // Never premise English.
                //Assert.Equal ("Column '_test_' does not belong to table test_table.", e.Message);
            }

            Cols.Add();
            Cols.Add();
            Cols.Add();
            Cols.Add();

            Assert.Equal(6, Cols.Count);
            Cols.Remove(Cols[0]);
            Cols.Remove(Cols[0]);
            Assert.Equal(4, Cols.Count);
            Assert.Equal("Column1", Cols[0].ColumnName);

            try
            {
                Cols.Remove(new DataColumn("Column10"));
                Assert.False(true);
            }
            catch (Exception e)
            {
                Assert.Equal(typeof(ArgumentException), e.GetType());
                // Never premise English.
                //Assert.Equal ("Cannot remove a column that doesn't belong to this table.", e.Message);
            }

            Cols.Add();
            Cols.Add();
            Cols.Add();
            Cols.Add();

            Assert.Equal(8, Cols.Count);
            Cols.RemoveAt(7);
            Cols.RemoveAt(1);
            Cols.RemoveAt(0);
            Cols.RemoveAt(0);
            Assert.Equal(4, Cols.Count);
            Assert.Equal("Column4", Cols[0].ColumnName);
            Assert.Equal("Column5", Cols[1].ColumnName);

            try
            {
                Cols.RemoveAt(10);
                Assert.False(true);
            }
            catch (Exception e)
            {
                Assert.Equal(typeof(IndexOutOfRangeException), e.GetType());
                // Never premise English.
                //Assert.Equal ("Cannot find column 10.", e.Message);
            }
        }