public void Relations()
{
DataTable dtChild1, dtChild2, dtParent;
var ds = new DataSet();
//Create tables
dtChild1 = DataProvider.CreateChildDataTable();
dtChild1.TableName = "Child";
dtChild2 = DataProvider.CreateChildDataTable();
dtChild2.TableName = "CHILD";
dtParent = DataProvider.CreateParentDataTable();
//Add tables to dataset
ds.Tables.Add(dtChild1);
ds.Tables.Add(dtChild2);
ds.Tables.Add(dtParent);
DataRelation drl = new DataRelation("Parent-Child", dtParent.Columns["ParentId"], dtChild1.Columns["ParentId"]);
DataRelation drl1 = new DataRelation("Parent-CHILD", dtParent.Columns["ParentId"], dtChild2.Columns["ParentId"]);
// Checking Relations - default value
//Check default
Assert.Equal(0, ds.Relations.Count);
ds.Relations.Add(drl);
// Checking Relations Count
Assert.Equal(1, ds.Relations.Count);
// Checking Relations Value
Assert.Equal(drl, ds.Relations[0]);
// Checking Relations - get by name
Assert.Equal(drl, ds.Relations["Parent-Child"]);
// Checking Relations - get by name case sensetive
Assert.Equal(drl, ds.Relations["PARENT-CHILD"]);
// Checking Relations Count 2
ds.Relations.Add(drl1);
Assert.Equal(2, ds.Relations.Count);
// Checking Relations - get by name case sensetive,ArgumentException
Assert.Throws<ArgumentException>(() => ds.Relations["PARENT-CHILD"]);
}