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);
}
}