// Returns true if the expected result is right // Returns false if the expected result is wrong // one delegate object is booldelegate // the other is booldelegate1 public bool PosTest2() { bool retVal = true; //Type,target, method, and invocation list TestLibrary.TestFramework.BeginScenario("PosTest2: hash code of two different delegate object even though they invoke the same function is not equal "); try { DelegateGetHashCode delctor = new DelegateGetHashCode(); booldelegate workDelegate = new booldelegate(new TestClass(1).StartWork_Bool); booldelegate1 workDelegate1 = new booldelegate1(new TestClass(1).StartWork_Bool); if (workDelegate.GetHashCode() == workDelegate1.GetHashCode()) { TestLibrary.TestFramework.LogError("003", "HashCode is not excepted "); retVal = false; } workDelegate(); workDelegate1(); } catch (Exception e) { TestLibrary.TestFramework.LogError("004", "Unexpected exception: " + e); retVal = false; } return retVal; }