Is (Hamcrest 2.1 API)
Date: 2018-12-21

org.hamcrest.core

## Class Is<T>

- java.lang.Object
- - org.hamcrest.BaseMatcher<T>
  - - org.hamcrest.core.Is<T>

- All Implemented Interfaces:
    Matcher<T>, SelfDescribing

      public class Is<T>
      extends BaseMatcher<T>

  Decorates another Matcher, retaining the behaviour but allowing tests to be slightly more expressive. For example: assertThat(cheese, equalTo(smelly)) vs. assertThat(cheese, is(equalTo(smelly)))

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Is(Matcher<T> matcher)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `describeMismatch(java.lang.Object item, Description mismatchDescription)` Generate a description of why the matcher has not accepted the item.
    `void` | `describeTo(Description description)` Generates a description of the object.
    `static <T> Matcher<T>` | `is(Matcher<T> matcher)` Decorates another Matcher, retaining its behaviour, but allowing tests to be slightly more expressive.
    `static <T> Matcher<T>` | `is(T value)` A shortcut to the frequently used `is(equalTo(x))`.
    `static <T> Matcher<T>` | `isA(java.lang.Class<?> type)` A shortcut to the frequently used `is(instanceOf(SomeClass.class))`.
    `boolean` | `matches(java.lang.Object arg)` Evaluates the matcher for argument item.

    - ### Methods inherited from class org.hamcrest.BaseMatcher

      `_dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Is

          public Is(Matcher<T> matcher)

  - ### Method Detail

    - #### matches

          public boolean matches(java.lang.Object arg)

      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:
        `arg` - 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(java.lang.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.

    - #### is

          public static <T> Matcher<T> is(Matcher<T> matcher)

      Decorates another Matcher, retaining its behaviour, but allowing tests to be slightly more expressive. For example:

          assertThat(cheese, is(equalTo(smelly)))

      instead of:

          assertThat(cheese, equalTo(smelly))

    - #### is

          public static <T> Matcher<T> is(T value)

      A shortcut to the frequently used `is(equalTo(x))`. For example:

          assertThat(cheese, is(smelly))

      instead of:

          assertThat(cheese, is(equalTo(smelly)))

    - #### isA

          public static <T> Matcher<T> isA(java.lang.Class<?> type)

      A shortcut to the frequently used `is(instanceOf(SomeClass.class))`. For example:

          assertThat(cheese, isA(Cheddar.class))

      instead of:

          assertThat(cheese, is(instanceOf(Cheddar.class)))