Package org.hamcrest

Class FeatureMatcher<T,U>

Type Parameters:
T - The type of the object to be matched
U - The type of the feature to be matched
All Implemented Interfaces:
Matcher<T>, SelfDescribing
Direct Known Subclasses:
CharSequenceLength, HasToString, IsArrayWithSize, IsCollectionWithSize, IsIterableWithSize, IsMapWithSize

public abstract class FeatureMatcher<T,U> extends TypeSafeDiagnosingMatcher<T>
Supporting class for matching a feature of an object. Implement featureValueOf() in a subclass to pull out the feature to be matched against.
  • Constructor Details

    • FeatureMatcher

      public FeatureMatcher(Matcher<? super U> subMatcher, String featureDescription, String featureName)
      Constructor
      Parameters:
      subMatcher - The matcher to apply to the feature
      featureDescription - Descriptive text to use in describeTo
      featureName - Identifying text for mismatch message
  • Method Details

    • 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 class TypeSafeDiagnosingMatcher<T>
      Parameters:
      actual - the item.
      mismatch - the mismatch description.
      Returns:
      boolean true/false depending if item matches matcher.
    • 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 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.