This repository was archived by the owner on Jun 27, 2023. It is now read-only.
add Len matcher#368
Merged
codyoss merged 1 commit intogolang:masterfrom Dec 23, 2019
codyoss:len-matcher
Merged
Conversation
This matcher will check the length with any type that allows this behavior via reflection. Implementation inspired by #189.
cvgw
reviewed
Dec 20, 2019
| func (m lenMatcher) Matches(x interface{}) bool { | ||
| v := reflect.ValueOf(x) | ||
| switch v.Kind() { | ||
| case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice, reflect.String: |
Collaborator
There was a problem hiding this comment.
curious, does this cover *[]string and []string ?
Member
Author
There was a problem hiding this comment.
This would not, do you think we should support that?
Collaborator
There was a problem hiding this comment.
I don't think it's necessarily needed. If it supports []string but not *[]string the user can just dereference.
cvgw
reviewed
Dec 20, 2019
|
|
||
| // Len returns a matcher that matches on length. This matcher returns false if | ||
| // is compared to a type that is not an array, chan, map, slice, or string. | ||
| func Len(i int) Matcher { |
Collaborator
There was a problem hiding this comment.
nit: I'm imagining mockFoo.EXPECT().Bar(gomock.Len(4)) which feels like it could be more natural but I can't think of a better alternative.
cvgw
approved these changes
Dec 20, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
This matcher will check the length with any type that allows this
behavior via reflection. Implementation inspired by #189.