## org.hamcrest.core
Class DescribedAs<T>

    java.lang.Object
      org.hamcrest.BaseMatcher<T>
          org.hamcrest.core.DescribedAs<T>

All Implemented Interfaces:
  Matcher<T>, SelfDescribing

    public class DescribedAs<T>

extends BaseMatcher<T>

Provides a custom description to another matcher.

Constructor Summary
`DescribedAs(String descriptionTemplate, Matcher<T> matcher, Object[] values)`

Method Summary

`static

`<T> Matcher<T>`

`

`describedAs(String description, Matcher<T> matcher, Object... values)`
Wraps an existing matcher, overriding its description with that specified.

`void` `describeMismatch(Object item, Description description)` Generate a description of why the matcher has not accepted the item.
`void` `describeTo(Description description)` Generates a description of the object.
`boolean` `matches(Object o)` Evaluates the matcher for argument item.

Methods inherited from class org.hamcrest.BaseMatcher
`_dont_implement_Matcher___instead_extend_BaseMatcher_, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### DescribedAs

    public DescribedAs(String descriptionTemplate,
                       Matcher<T> matcher,
                       Object[] values)

Method Detail

### matches

    public boolean matches(Object o)

  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:
    `o` - the object against which the matcher is evaluated.
  Returns:
    `true` if item matches, otherwise `false`.
  See Also:
    `BaseMatcher`

### describeTo

    public void describeTo(Description description)

  Description copied from interface: `SelfDescribing`
  Generates a description of the object. The description may be part of a 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.

### describeMismatch

    public void describeMismatch(Object item,
                                 Description description)

  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.
    `description` - The description to be built or appended to.

### describedAs

    public static <T> Matcher<T> describedAs(String description,
                                             Matcher<T> matcher,
                                             Object... values)

  Wraps an existing matcher, overriding its description with that specified. All other functions are delegated to the decorated matcher, including its mismatch description.

  For example:

      describedAs("a big decimal equal to %0", equalTo(myBigDecimal), myBigDecimal.toPlainString())

  Parameters:
    `description` - the new description for the wrapped matcher
    `matcher` - the matcher to wrap
    `values` - optional values to insert into the tokenised description

Copyright © 2002–2020 JUnit. All rights reserved.