public void ClearTest()
{
DataTableReader reader = null;
try
{
reader = new DataTableReader(_dt);
reader.Read(); // first row
reader.Read(); // second row
_dt.Clear();
try
{
int i = (int)reader[0];
i++; // supress warning
Assert.False(true);
}
catch (RowNotInTableException) { }
// clear and add test
reader.Close();
reader = new DataTableReader(_dt);
reader.Read(); // first row
reader.Read(); // second row
_dt.Clear();
_dt.Rows.Add(new object[] { 8, "mono 8" });
_dt.AcceptChanges();
bool success = reader.Read();
Assert.False(success);
// clear when reader is not read yet
reader.Close();
reader = new DataTableReader(_dt);
_dt.Clear();
_dt.Rows.Add(new object[] { 8, "mono 8" });
_dt.AcceptChanges();
success = reader.Read();
Assert.True(success);
}
finally
{
if (reader != null && !reader.IsClosed)
reader.Close();
}
}