Takes an argument and returns an equivalent Matcher.
If the argument is already a matcher this does nothing, else if the argument is a function, it generates a predicate function matcher, else it generates an equals matcher.
Source
Matcher wrapMatcher(x) {
if (x is Matcher) {
return x;
} else if (x is _Predicate) {
return predicate(x);
} else {
return equals(x);
}
}