public void Creation2()
{
DataSet Set = new DataSet();
DataTable Mom2 = new DataTable("Mom");
DataTable Child2 = new DataTable("Child");
DataTable Hubby = new DataTable("Hubby");
Set.Tables.Add(Mom2);
Set.Tables.Add(Child2);
Set.Tables.Add(Hubby);
DataColumn Col = new DataColumn("Name");
DataColumn Col2 = new DataColumn("ChildName");
DataColumn Col3 = new DataColumn("hubby");
Mom2.Columns.Add(Col);
Mom2.Columns.Add(Col2);
Mom2.Columns.Add(Col3);
DataColumn Col4 = new DataColumn("Name");
DataColumn Col5 = new DataColumn("Age");
DataColumn Col6 = new DataColumn("father");
Child2.Columns.Add(Col4);
Child2.Columns.Add(Col5);
Child2.Columns.Add(Col6);
DataColumn Col7 = new DataColumn("Name");
DataColumn Col8 = new DataColumn("Age");
Hubby.Columns.Add(Col7);
Hubby.Columns.Add(Col8);
DataColumn[] Parents = new DataColumn[2];
Parents[0] = Col2;
Parents[1] = Col3;
DataColumn[] Childs = new DataColumn[2];
Childs[0] = Col4;
Childs[1] = Col7;
Assert.Throws<InvalidConstraintException>(() => new DataRelation("Rel", Parents, Childs));
Childs[1] = Col6;
Set.Relations.Add(new DataRelation("Rel", Parents, Childs));
Assert.Equal(1, Mom2.ChildRelations.Count);
Assert.Equal(0, Child2.ChildRelations.Count);
Assert.Equal(0, Mom2.ParentRelations.Count);
Assert.Equal(1, Child2.ParentRelations.Count);
DataRelation Test = Child2.ParentRelations[0];
Assert.Equal("Rel", Test.ToString());
Assert.Equal("Rel", Test.RelationName);
Assert.Equal("Mom", Test.ParentTable.TableName);
Assert.Equal(2, Test.ParentKeyConstraint.Columns.Length);
Assert.False(Test.ParentKeyConstraint.IsPrimaryKey);
Assert.Equal(2, Test.ParentColumns.Length);
Assert.False(Test.Nested);
Assert.Equal(0, Test.ExtendedProperties.Count);
Assert.Equal("Child", Test.ChildTable.TableName);
Assert.Equal("Rel", Test.ChildKeyConstraint.ConstraintName);
Assert.Equal(2, Test.ChildColumns.Length);
Assert.Equal(1, Mom2.Constraints.Count);
Assert.Equal("Constraint1", Mom2.Constraints[0].ToString());
Assert.Equal(1, Child2.Constraints.Count);
Assert.Equal(0, Hubby.Constraints.Count);
}