Package org.mockito.internal.hamcrest
Class HamcrestArgumentMatcher<T>
- java.lang.Object
-
- org.mockito.internal.hamcrest.HamcrestArgumentMatcher<T>
-
- All Implemented Interfaces:
ArgumentMatcher<T>
public class HamcrestArgumentMatcher<T> extends java.lang.Object implements ArgumentMatcher<T>
-
-
Constructor Summary
Constructors Modifier Constructor Description private
HamcrestArgumentMatcher(java.lang.Class<?> type, org.hamcrest.Matcher<T> matcher)
HamcrestArgumentMatcher(org.hamcrest.Matcher<T> matcher)
HamcrestArgumentMatcher(org.hamcrest.Matcher<T> matcher, java.lang.Class<T> type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
matches(java.lang.Object argument)
Informs if this matcher accepts the given argument.java.lang.String
toString()
java.lang.Class<?>
type()
The type of the argument this matcher matches.
-
-
-
Field Detail
-
matcher
private final org.hamcrest.Matcher<T> matcher
-
type
private final java.lang.Class<?> type
-
-
Constructor Detail
-
HamcrestArgumentMatcher
public HamcrestArgumentMatcher(org.hamcrest.Matcher<T> matcher)
-
HamcrestArgumentMatcher
public HamcrestArgumentMatcher(org.hamcrest.Matcher<T> matcher, java.lang.Class<T> type)
-
HamcrestArgumentMatcher
private HamcrestArgumentMatcher(java.lang.Class<?> type, org.hamcrest.Matcher<T> matcher)
-
-
Method Detail
-
matches
public boolean matches(java.lang.Object argument)
Description copied from interface:ArgumentMatcher
Informs if this matcher accepts the given argument.The method should never assert if the argument doesn't match. It should only return false.
See the example in the top level javadoc for
ArgumentMatcher
- Specified by:
matches
in interfaceArgumentMatcher<T>
- Parameters:
argument
- the argument- Returns:
- true if this matcher accepts the given argument.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
type
public java.lang.Class<?> type()
Description copied from interface:ArgumentMatcher
The type of the argument this matcher matches.This method is used to differentiate between a matcher used to match a raw vararg array parameter from a matcher used to match a single value passed as a vararg parameter.
Where the matcher:
- is at the parameter index of a vararg parameter
- is the last matcher passed
- this method returns a type assignable to the vararg parameter's raw type, i.e. its array type.
For example:
// Given vararg method with signature: int someVarargMethod(String... args); // The following will match invocations with any number of parameters, i.e. any number of elements in the raw array. mock.someVarargMethod(isA(String[].class)); // The following will match invocations with a single parameter, i.e. one string in the raw array. mock.someVarargMethod(isA(String.class)); // The following will match invocations with two parameters, i.e. two strings in the raw array mock.someVarargMethod(isA(String.class), isA(String.class));
Only matcher implementations that can conceptually match a raw vararg parameter should override this method.
- Specified by:
type
in interfaceArgumentMatcher<T>
- Returns:
- the type this matcher handles. The default value of
Void
means the type is not known.
-
-