public abstract class

BoundedDiagnosingMatcher

extends BaseMatcher<S>
java.lang.Object
   ↳ org.hamcrest.BaseMatcher<S>
     ↳ androidx.test.espresso.matcher.BoundedDiagnosingMatcher<S, T extends S>

Class Overview

A matcher that allows for a quick creation of a matcher that applies to a given type but only processes items of a specific subtype of that matcher. Additional interfaces can be applied. This class is syntactic sugar for Matchers.instanceOf(Class) where the first argument is the base class and the remaining optional arguments are interfaces.

Summary

Public Constructors
BoundedDiagnosingMatcher(Class<? extends S> expectedType)
BoundedDiagnosingMatcher(Class<? extends S> expectedType, Class<?> interfaceType1, Class...<?> otherInterfaces)
Public Methods
final void describeMismatch(Object item, Description mismatchDescription)
This method provides a default implementation for null check as well as a super type and interface checks provided by the constructor.
final void describeTo(Description description)
final boolean matches(Object item)
Protected Methods
abstract void describeMoreTo(Description description)
Subclasses should implement this.
abstract boolean matchesSafely(T item, Description mismatchDescription)
Subclasses should implement this.
[Expand]
Inherited Methods
From class org.hamcrest.BaseMatcher
From class java.lang.Object
From interface org.hamcrest.Matcher
From interface org.hamcrest.SelfDescribing

Public Constructors

public BoundedDiagnosingMatcher (Class<? extends S> expectedType)

Parameters
expectedType Class

public BoundedDiagnosingMatcher (Class<? extends S> expectedType, Class<?> interfaceType1, Class...<?> otherInterfaces)

Parameters
expectedType Class
interfaceType1 Class
otherInterfaces Class

Public Methods

public final void describeMismatch (Object item, Description mismatchDescription)

This method provides a default implementation for null check as well as a super type and interface checks provided by the constructor. Failing either check provides a default mismatch description. Passing both will call into matchesSafely(Object, Description) which will allow the sub-class to check for a mismatch and describe what went wrong (if anything at all).

Parameters
item Object: The item which is assumed to have mismatched and should be described.
mismatchDescription Description: The description builder for the mismatch.

public final void describeTo (Description description)

Parameters
description Description

public final boolean matches (Object item)

Parameters
item Object
Returns
boolean

Protected Methods

protected abstract void describeMoreTo (Description description)

Subclasses should implement this. The fine details of the matcher should be added to the description. Type checking information will have already been added.

Parameters
description Description: The Description object to write to.

protected abstract boolean matchesSafely (T item, Description mismatchDescription)

Subclasses should implement this. The item will already have been checked for the specific type, interfaces, and will never be null.

Parameters
item T: The pre-checked item.
mismatchDescription Description: A Description to write to for mismatches.
Returns
boolean true if the item matches the expectations for this Matcher.