public void ctor_DataColumns()
{
Exception tmpEx = new Exception();
DataTable dtParent = DataProvider.CreateParentDataTable();
UniqueConstraint uc = null;
uc = new UniqueConstraint(new DataColumn[] { dtParent.Columns[0], dtParent.Columns[1] });
// Ctor - parent
Assert.Equal(false, uc == null);
// Ctor - add exisiting column
dtParent.Rows.Add(new object[] { 99, "str1", "str2" });
dtParent.Constraints.Add(uc);
Assert.Throws<ConstraintException>(() => dtParent.Rows.Add(new object[] { 99, "str1", "str2" }));
DataTable dtChild = DataProvider.CreateChildDataTable();
uc = new UniqueConstraint(new DataColumn[] { dtChild.Columns[0], dtChild.Columns[1] });
dtChild.Constraints.Add(uc);
// Ctor - child
Assert.Equal(false, uc == null);
dtChild.Constraints.Clear();
uc = new UniqueConstraint(new DataColumn[] { dtChild.Columns[1], dtChild.Columns[2] });
//target columnn are not unnique, will throw an exception
// ArgumentException - child
Assert.Throws<ArgumentException>(() => dtChild.Constraints.Add(uc));
}