public void CancelEdit()
{
DataTable dt = DataProvider.CreateParentDataTable();
DataView dv = new DataView(dt);
DataRowView drv = dv[0];
drv.BeginEdit();
drv["String1"] = "ChangeValue";
// check Proposed value
Assert.Equal("ChangeValue", dt.Rows[0]["String1", DataRowVersion.Proposed]);
// check IsEdit
Assert.Equal(true, drv.IsEdit);
// check Proposed value
drv.CancelEdit();
Assert.Equal(false, dt.Rows[0].HasVersion(DataRowVersion.Proposed));
// check current value
Assert.Equal("1-String1", dt.Rows[0]["String1", DataRowVersion.Current]);
// check IsEdit after cancel edit
Assert.Equal(false, drv.IsEdit);
}