Package org.hamcrest
Class DiagnosingMatcher<T>
java.lang.Object
org.hamcrest.BaseMatcher<T>
org.hamcrest.DiagnosingMatcher<T>
- Type Parameters:
T
- the type of matcher being diagnosed.
- All Implemented Interfaces:
Matcher<T>
,SelfDescribing
- Direct Known Subclasses:
AllOf
,IsInstanceOf
,SamePropertyValuesAs
Convenient base class for Matchers of a specific type and that will report why the
received value has been rejected.
Unlike the
TypeSafeDiagnosingMatcher
, this does not implement the null check
or validate the type, so subclasses need to be prepared to handle these conditions.
To use, implement matches(Object, Description)
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
describeMismatch
(Object item, Description mismatchDescription) Generate a description of why the matcher has not accepted the item.final boolean
Evaluates the matcher for argument item.protected abstract boolean
matches
(Object item, Description mismatchDescription) Evaluates the matcher for argument item.Methods inherited from class org.hamcrest.BaseMatcher
_dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.hamcrest.SelfDescribing
describeTo
-
Constructor Details
-
DiagnosingMatcher
public DiagnosingMatcher()Constructor
-
-
Method Details
-
matches
Description copied from interface:Matcher
Evaluates the matcher for argument item. This method matches against Object, instead of the generic type T. This is because the caller of the Matcher does not know at runtime what the type is (because of type erasure with Java generics). It is down to the implementations to check the correct type.- Parameters:
item
- the object against which the matcher is evaluated.- Returns:
true
if item matches, otherwisefalse
.- See Also:
-
describeMismatch
Description copied from interface:Matcher
Generate a description of why the matcher has not accepted the item. The description will be part of a larger description of why a matching failed, so it should be concise. This method assumes thatmatches(item)
is false, but will not check this.- Specified by:
describeMismatch
in interfaceMatcher<T>
- Overrides:
describeMismatch
in classBaseMatcher<T>
- Parameters:
item
- The item that the Matcher has rejected.mismatchDescription
- The description to be built or appended to.
-
matches
Evaluates the matcher for argument item.- Parameters:
item
- the value to checkmismatchDescription
- the description for the matcher- Returns:
true
if item matches, otherwisefalse
.
-