/// <summary> /// Checks that two objects are equal. /// </summary> /// <param name="obj1">The first object.</param> /// <param name="obj2">The second object.</param> public bool VerifyEqual(IEqualComparable obj1, IEqualComparable obj2) { Debug.Assert(obj1 != null); Debug.Assert(obj2 != null); bool Result; if (!ComparedObjectList.ContainsKey(obj1)) { ComparedObjectList.Add(obj1, false); } else if (!ComparedObjectList.ContainsKey(obj2)) { ComparedObjectList.Add(obj2, false); } else { Result = true; if (ComparisonCount == FailIndex) { return(false); } ComparisonCount++; return(Result); } if (obj1.IsEqual(this, obj2)) { Result = true; } else if (CanReturnFalse) { Result = false; } else { Result = false; // For breakpoints. } if (ComparisonCount == FailIndex) { return(false); } ComparisonCount++; return(Result); }
/// <summary> /// Checks that two objects are equal. /// </summary> /// <param name="obj1">The first object.</param> /// <param name="obj2">The second object.</param> public bool VerifyEqual(IEqualComparable obj1, IEqualComparable obj2) { Contract.RequireNotNull(obj1, out IEqualComparable Obj1); Contract.RequireNotNull(obj2, out IEqualComparable Obj2); bool Result; if (!ComparedObjectList.ContainsKey(Obj1)) { ComparedObjectList.Add(Obj1, false); } else if (!ComparedObjectList.ContainsKey(Obj2)) { ComparedObjectList.Add(Obj2, false); } else { Result = true; if (ComparisonCount == FailIndex) { return(false); } ComparisonCount++; return(Result); } if (Obj1.IsEqual(this, Obj2)) { Result = true; } else if (CanReturnFalse) { Result = false; } else { Result = false; // For breakpoints. } if (ComparisonCount == FailIndex) { return(false); } ComparisonCount++; return(Result); }