Fix duplicate handling in members assertion #739
Merged
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.
same.members
to properly handle duplicates by treating each one as a unique memberPrior to this PR, the behavior was for duplicates to be ignored when performing any kind of members assertion. This led to unexpected behavior when asserting for sameness, as exemplified in #590. We consider this to be a bug.
With this PR, duplicates are no longer ignored when asserting for sameness, but are still ignored when asserting for inclusion. Bug fixed!
An argument could be made that duplicates should never be ignored, even for inclusion assertions. But that's a breaking change instead of a bug fix. Therefore, that debate will be left for another day. It'd be easy to make that change in the future if agreed upon.