Package org.hamcrest
Class FeatureMatcher<T,U>
- java.lang.Object
- org.hamcrest.BaseMatcher<T>
- org.hamcrest.TypeSafeDiagnosingMatcher<T>
- org.hamcrest.FeatureMatcher<T,U>
- Type Parameters:
T
- The type of the object to be matchedU
- The type of the feature to be matched
- All Implemented Interfaces:
Matcher<T>
,SelfDescribing
public abstract class FeatureMatcher<T,U> extends TypeSafeDiagnosingMatcher<T>
Supporting class for matching a feature of an object. ImplementfeatureValueOf()
in a subclass to pull out the feature to be matched against.
Constructor Summary
Constructors Constructor Description FeatureMatcher(Matcher<? super U> subMatcher, String featureDescription, String featureName)
Constructor
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
describeTo(Description description)
Generates a description of the object.protected abstract U
featureValueOf(T actual)
Implement this to extract the interesting feature.protected boolean
matchesSafely(T actual, Description mismatch)
Subclasses should implement this.Methods inherited from class org.hamcrest.TypeSafeDiagnosingMatcher
describeMismatch, matches
Methods inherited from class org.hamcrest.BaseMatcher
_dont_implement_Matcher___instead_extend_BaseMatcher_, toString
Constructor Detail
FeatureMatcher
public FeatureMatcher(Matcher<? super U> subMatcher, String featureDescription, String featureName)
Constructor- Parameters:
subMatcher
- The matcher to apply to the featurefeatureDescription
- Descriptive text to use in describeTofeatureName
- Identifying text for mismatch message
Method Detail
featureValueOf
protected abstract U featureValueOf(T actual)
Implement this to extract the interesting feature.- Parameters:
actual
- the target object- Returns:
- the feature to be matched
matchesSafely
protected boolean matchesSafely(T actual, Description mismatch)
Description copied from class:TypeSafeDiagnosingMatcher
Subclasses should implement this. The item will already have been checked for the specific type and will never be null.- Specified by:
matchesSafely
in classTypeSafeDiagnosingMatcher<T>
describeTo
public final void describeTo(Description description)
Description copied from interface:SelfDescribing
Generates a description of the object. The description may be part of a a description of a larger object of which this is just a component, so it should be worded appropriately.- Parameters:
description
- The description to be built or appended to.