Add containsMatchingInOrder containsEqualInOrder #2284
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.
The joined behavior in
containsInOrder
has some usability issues:deepEquals
, but it doesn't have the samebehavior for collection typed elements. Checking that a nested
collection is contained in order requires a
Condition
callback thatuses
.deepEquals
explicitly.Object?
signature throws away inference on theCondition
callback arguments. With a method that supports only conditions the
argument type can be tightened and allow inference.
Deprecate the old
containsInOrder
and plan to remove it before stable.This is a bit more restrictive, but it's not too noisy to fit a few
(it) => it.equals(foo)
in a collection that needs mixed behavior andthe collection of two methods is less confusing to document than the
joined behavior.
Lean on the "Matches" verb for cases that check a
Condition
callbackand rename
pairwiseComparesTo
aspairwiseMatches
.Fix a type check when pretty printing
Condition
callbacks. Matchmore than
Condition<dynamic>
by checkingCondition<Never>
.