BoundedDiagnosingMatcher

public abstract class BoundedDiagnosingMatcher<S, T extends S>


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.

Parameters
<S>

The desired type of the Matcher (T or a subclass of T).

<T extends S>

The actual type that the matcher applies safely to.

Summary

Public constructors

BoundedDiagnosingMatcher(
    Class<S> expectedType,
    Class<Object> 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

Public constructors

BoundedDiagnosingMatcher

public BoundedDiagnosingMatcher(Class<S> expectedType)

BoundedDiagnosingMatcher

public BoundedDiagnosingMatcher(
    Class<S> expectedType,
    Class<Object> interfaceType1,
    Class[] otherInterfaces
)

Public methods

describeMismatch

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 which will allow the sub-class to check for a mismatch and describe what went wrong (if anything at all).

Parameters
Object item

The item which is assumed to have mismatched and should be described.

Description mismatchDescription

The description builder for the mismatch.

See also
TypeSafeDiagnosingMatcher

for similar implementation pattern.

describeTo

public final void describeTo(Description description)

matches

public final boolean matches(Object item)