public void Constructor4()
{
DataTable dt = new DataTable();
DataRow rowA = dt.NewRow();
DataRow rowB = dt.NewRow();
DataRow[] rows;
Exception inner = new Exception();
DBConcurrencyException dbce;
string msg = "MONO";
rows = new DataRow[] { rowA, null, rowB };
dbce = new DBConcurrencyException(msg, inner, rows);
Assert.Same(inner, dbce.InnerException);
Assert.Same(msg, dbce.Message);
Assert.Same(rowA, dbce.Row);
Assert.Equal(3, dbce.RowCount);
rows = new DataRow[] { rowB, rowA, null };
dbce = new DBConcurrencyException(null, inner, rows);
Assert.Same(inner, dbce.InnerException);
Assert.True(dbce.Message.IndexOf(typeof(DBConcurrencyException).FullName) != -1);
Assert.Same(rowB, dbce.Row);
Assert.Equal(3, dbce.RowCount);
rows = new DataRow[] { null, rowA };
dbce = new DBConcurrencyException(string.Empty, inner, rows);
Assert.Same(inner, dbce.InnerException);
Assert.Equal(string.Empty, dbce.Message);
Assert.Null(dbce.Row);
Assert.Equal(2, dbce.RowCount);
rows = new DataRow[] { rowA };
dbce = new DBConcurrencyException(msg, null, rows);
Assert.Null(dbce.InnerException);
Assert.Same(msg, dbce.Message);
Assert.Same(rowA, dbce.Row);
Assert.Equal(1, dbce.RowCount);
rows = null;
dbce = new DBConcurrencyException(msg, null, rows);
Assert.Null(dbce.InnerException);
Assert.Same(msg, dbce.Message);
Assert.Null(dbce.Row);
Assert.Equal(0, dbce.RowCount);
rows = null;
dbce = new DBConcurrencyException(null, null, rows);
Assert.Null(dbce.InnerException);
Assert.True(dbce.Message.IndexOf(typeof(DBConcurrencyException).FullName) != -1);
Assert.Null(dbce.Row);
Assert.Equal(0, dbce.RowCount);
}