public void GetParentRow_ByNameDataRowVersion()
{
DataRow drParent, drChild;
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];
drChild = dtChild.Select("ParentId=" + drParent["ParentId"])[0];
// GetParentRow_SD 1
//Get Excepted result
drArrExcepted = drParent;
//Get Result DataRowVersion.Current
drArrResult = drChild.GetParentRow("Parent-Child", DataRowVersion.Current);
Assert.Equal(drArrExcepted.ItemArray, drArrResult.ItemArray);
// GetParentRow_SD 2
//Get Excepted result
drArrExcepted = drParent;
//Get Result DataRowVersion.Current
drArrResult = drChild.GetParentRow("Parent-Child", DataRowVersion.Original);
Assert.Equal(drArrExcepted.ItemArray, drArrResult.ItemArray);
// GetParentRow_SD 3
//Get Excepted result, in this case Current = Default
drArrExcepted = drParent;
//Get Result DataRowVersion.Current
drArrResult = drChild.GetParentRow("Parent-Child", DataRowVersion.Default);
Assert.Equal(drArrExcepted.ItemArray, drArrResult.ItemArray);
// GetParentRow_SD 4
drChild.BeginEdit();
drChild["String1"] = "Value";
//Get Excepted result
drArrExcepted = drParent;
//Get Result DataRowVersion.Current
drArrResult = drChild.GetParentRow("Parent-Child", DataRowVersion.Proposed);
Assert.Equal(drArrExcepted.ItemArray, drArrResult.ItemArray);
}