public void EqualsAndHashCode()
{
DataTable tbl = _ds.Tables[0];
DataTable tbl2 = _ds.Tables[1];
ForeignKeyConstraint fkc = new ForeignKeyConstraint(
new DataColumn[] {tbl.Columns[0], tbl.Columns[1]} ,
new DataColumn[] {tbl2.Columns[0], tbl2.Columns[1]} );
ForeignKeyConstraint fkc2 = new ForeignKeyConstraint(
new DataColumn[] {tbl.Columns[0], tbl.Columns[1]} ,
new DataColumn[] {tbl2.Columns[0], tbl2.Columns[1]} );
ForeignKeyConstraint fkcDiff =
new ForeignKeyConstraint( tbl.Columns[1], tbl.Columns[2]);
Assert.IsTrue( fkc.Equals(fkc2) , "Equals Assert.IsTrue.Failed. 1");
Assert.IsTrue( fkc2.Equals(fkc) , "Equals Assert.IsTrue.Failed. 2");
Assert.IsTrue( fkc.Equals(fkc) , "Equals Assert.IsTrue.Failed. 3");
Assert.IsTrue( fkc.Equals(fkcDiff) == false , "Equals Assert.IsTrue.Failed diff. 1");
//Assert.IsTrue( "Hash Code Assert.IsTrue.Failed. 1", fkc.GetHashCode() == fkc2.GetHashCode() );
Assert.IsTrue( fkc.GetHashCode() != fkcDiff.GetHashCode() , "Hash Code Assert.IsTrue.Failed. 2");
}