private void CompareNugget(Nugget n1, Nugget n2, bool equal) { // Test equality. if (equal) { Assert.AreEqual(n1, n2); } else { Assert.AreNotEqual(n1, n2); } // Test hash code. int h1 = n1.GetHashCode(); int h2 = n2.GetHashCode(); // · If two objects are equal then they must have the same hash code. if (n1.Equals(n2)) { Assert.AreEqual(h1, h2); } // · If two objects have different hash codes then they must be unequal. if (h1 != h2) { Assert.AreNotEqual(n1, n2); } }