Top Description Methods
org.hamcrest

public Interface Matcher<T>

extends SelfDescribing
Known Direct Implementers
org.hamcrest.BaseMatcher

A matcher over acceptable values. A matcher is able to describe itself to give feedback when it fails.

Matcher implementations should NOT directly implement this interface. Instead, extend the BaseMatcher abstract class, which will ensure that the Matcher API can grow to support new features and remain compatible with all Matcher implementations.

When using Hamcrest, there is no guarantee as to how often matches() or describeMismatch() will be called, so the objects passed as actual arguments should not change when referenced. If you're testing a stream, a good practice is to collect the contents of the stream before matching.

N.B. Well designed matchers should be immutable.

See Also
BaseMatcher

Method Summary

Modifier and TypeMethod and Description
public void
_dont_implement_Matcher___instead_extend_BaseMatcher_()

Deprecated to make
This method simply acts a friendly reminder not to implement Matcher directly and instead extend BaseMatcher.
public void
describeMismatch(Object
The item that the Matcher has rejected.
actual
,
Description
The description to be built or appended to.
mismatchDescription
)

Generate a description of why the matcher has not accepted the item.

public boolean

Returns:

true if item matches, otherwise false.
matches
(Object
the object against which the matcher is evaluated.
actual
)

Evaluates the matcher for argument item.

Inherited from org.hamcrest.SelfDescribing:
describeTo

Method Detail

_dont_implement_Matcher___instead_extend_BaseMatcher_back to summary
public void _dont_implement_Matcher___instead_extend_BaseMatcher_()

Deprecated

to make

This method simply acts a friendly reminder not to implement Matcher directly and instead extend BaseMatcher. It's easy to ignore JavaDoc, but a bit harder to ignore compile errors .

Annotations
@Deprecated
See Also
{@link Matcher} for reasons why., BaseMatcher
describeMismatchback to summary
public void describeMismatch(Object actual, Description mismatchDescription)

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.

Parameters
actual:Object

The item that the Matcher has rejected.

mismatchDescription:Description

The description to be built or appended to.

matchesback to summary
public boolean matches(Object actual)

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
actual:Object

the object against which the matcher is evaluated.

Returns:boolean

true if item matches, otherwise false.

See Also
BaseMatcher