public void GetChildRows_ByNameDataRowVersion()
{
DataRow drParent;
DataRow[] drArrExcepted, drArrResult;
DataTable dtChild, dtParent;
var ds = new DataSet();
//Create tables
dtChild = DataProvider.CreateChildDataTable();
dtParent = DataProvider.CreateParentDataTable();
//Add tables to dataset
ds.Tables.Add(dtChild);
ds.Tables.Add(dtParent);
//Add Relation
DataRelation dRel = new DataRelation("Parent-Child", dtParent.Columns["ParentId"], dtChild.Columns["ParentId"]);
ds.Relations.Add(dRel);
drParent = dtParent.Rows[0];
// GetChildRows_SD 1
//Get Excepted result
drArrExcepted = dtChild.Select("ParentId=" + drParent["ParentId"], "", DataViewRowState.CurrentRows);
//Get Result DataRowVersion.Current
drArrResult = drParent.GetChildRows("Parent-Child", DataRowVersion.Current);
Assert.Equal(drArrExcepted, drArrResult);
// GetChildRows_SD 2
//Get Excepted result
drArrExcepted = dtChild.Select("ParentId=" + drParent["ParentId"], "", DataViewRowState.OriginalRows);
//Get Result DataRowVersion.Current
drArrResult = drParent.GetChildRows("Parent-Child", DataRowVersion.Original);
Assert.Equal(drArrExcepted, drArrResult);
// GetParentRows_SD 3
//Get Excepted result, in this case Current = Default
drArrExcepted = dtChild.Select("ParentId=" + drParent["ParentId"], "", DataViewRowState.CurrentRows);
//Get Result DataRowVersion.Current
drArrResult = drParent.GetChildRows("Parent-Child", DataRowVersion.Default);
Assert.Equal(drArrExcepted, drArrResult);
// GetParentRows_SD 4
drParent.BeginEdit();
drParent["String1"] = "Value";
//Get Excepted result
drArrExcepted = dtChild.Select("ParentId=" + drParent["ParentId"], "", DataViewRowState.CurrentRows);
//Get Result DataRowVersion.Current
drArrResult = drParent.GetChildRows("Parent-Child", DataRowVersion.Proposed);
Assert.Equal(drArrExcepted, drArrResult);
}