System.Data.Tests.DataViewTest_IBindingList.AddNewTest C# (CSharp) Method

AddNewTest() private method

private AddNewTest ( ) : void
return void
        public void AddNewTest()
        {
            DataView dv = new DataView(_dt);
            IBindingList ib = dv;
            ib.ListChanged += new ListChangedEventHandler(OnListChanged);

            try
            {
                _args = null;
                object o = ib.AddNew();
                Assert.Equal(typeof(DataRowView), o.GetType());
                Assert.Equal(ListChangedType.ItemAdded, _args.ListChangedType);
                Assert.Equal(4, _args.NewIndex);
                Assert.Equal(-1, _args.OldIndex);

                DataRowView r = (DataRowView)o;
                Assert.Equal(25, r["id"]);
                Assert.Equal(DBNull.Value, r["name"]);
                Assert.Equal(5, dv.Count);

                _args = null;
                r.CancelEdit();
                Assert.Equal(ListChangedType.ItemDeleted, _args.ListChangedType);
                Assert.Equal(4, _args.NewIndex);
                Assert.Equal(-1, _args.OldIndex);
                Assert.Equal(4, dv.Count);
            }
            finally
            {
                ib.ListChanged -= new ListChangedEventHandler(OnListChanged);
            }
        }