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

public abstract class DiagnosingMatcher<T> extends BaseMatcher<T>
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 Details

    • DiagnosingMatcher

      public DiagnosingMatcher()
      Constructor
  • Method Details

    • matches

      public final boolean matches(Object item)
      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, otherwise false.
      See Also:
    • describeMismatch

      public final void describeMismatch(Object item, Description mismatchDescription)
      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 that matches(item) is false, but will not check this.
      Specified by:
      describeMismatch in interface Matcher<T>
      Overrides:
      describeMismatch in class BaseMatcher<T>
      Parameters:
      item - The item that the Matcher has rejected.
      mismatchDescription - The description to be built or appended to.
    • matches

      protected abstract boolean matches(Object item, Description mismatchDescription)
      Evaluates the matcher for argument item.
      Parameters:
      item - the value to check
      mismatchDescription - the description for the matcher
      Returns:
      true if item matches, otherwise false.