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"); }