Ensure IdentityComparer.AreEqual Usage is Properly Asserted #3151
+29
−26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #3130
This PR addresses issue #3130 by ensuring that IdentityComparer.AreEqual(object object1, object object2) is used correctly across the codebase.
Changes Made:
✅ Replaced usages of IdentityComparer.AreEqual(object, object) with the overload that accepts CompareContext, ensuring proper validation.
✅ Removed the parameterless overload where possible to enforce assertion of the comparison result.
✅ In cases where removal wasn’t possible, I explicitly added CompareContext.Default.
✅ Verified and updated all affected test methods to ensure correctness.
Testing & Validation:
I ran all relevant unit tests to confirm that there were no regressions.
Verified that all assertions are now explicitly checked.