Package org.hamcrest
Class TypeSafeDiagnosingMatcher<T>
java.lang.Object
org.hamcrest.BaseMatcher<T>
org.hamcrest.TypeSafeDiagnosingMatcher<T>
- Type Parameters:
T- the matcher type.
- All Implemented Interfaces:
Matcher<T>,SelfDescribing
- Direct Known Subclasses:
CombinableMatcher,Every,FeatureMatcher,HasEqualValues,HasPropertyWithValue,HasXPath,IsCollectionContaining,IsEventFrom,IsIterableContaining,IsIterableContainingInAnyOrder,IsIterableContainingInOrder,IsIterableContainingInRelativeOrder,StringRegularExpression
Convenient base class for Matchers that require a non-null value of a specific type
and that will report why the received value has been rejected.
This implements the null check, checks the type and then casts.
To use, implement
matchesSafely(Object, Description).- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedThe default constructor for simple sub typesprotectedTypeSafeDiagnosingMatcher(Class<?> expectedType) Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type.protectedTypeSafeDiagnosingMatcher(org.hamcrest.internal.ReflectiveTypeFinder typeFinder) Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type. -
Method Summary
Modifier and TypeMethodDescriptionfinal voiddescribeMismatch(Object item, Description mismatchDescription) Generate a description of why the matcher has not accepted the item.final booleanEvaluates the matcher for argument item.protected abstract booleanmatchesSafely(T item, Description mismatchDescription) Subclasses should implement this.Methods inherited from class org.hamcrest.BaseMatcher
_dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hamcrest.SelfDescribing
describeTo
-
Constructor Details
-
TypeSafeDiagnosingMatcher
Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type.- Parameters:
expectedType- The expectedType of the actual value.
-
TypeSafeDiagnosingMatcher
protected TypeSafeDiagnosingMatcher(org.hamcrest.internal.ReflectiveTypeFinder typeFinder) Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type.- Parameters:
typeFinder- A type finder to extract the type
-
TypeSafeDiagnosingMatcher
protected TypeSafeDiagnosingMatcher()The default constructor for simple sub types
-
-
Method Details
-
matchesSafely
Subclasses should implement this. The item will already have been checked for the specific type and will never be null.- Parameters:
item- the item.mismatchDescription- the mismatch description.- Returns:
- boolean true/false depending if item matches matcher.
-
matches
Description copied from interface:MatcherEvaluates 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:
trueif item matches, otherwisefalse.- See Also:
-
describeMismatch
Description copied from interface:MatcherGenerate 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:
describeMismatchin interfaceMatcher<T>- Overrides:
describeMismatchin classBaseMatcher<T>- Parameters:
item- The item that the Matcher has rejected.mismatchDescription- The description to be built or appended to.
-