code: public static <T> void assertThat(String whatTheObjectIs, T actual, Matcher<? super T> matcher) {
          Description description = new StringDescription();
          if (matcher.matches(actual)) {
              description.appendText(whatTheObjectIs);
              description.appendText(" ");
              matcher.describeTo(description);
              pass(description.toString());
          } else {
              description.appendText("asserted that it ")
                      .appendDescriptionOf(matcher)
                      .appendText(" but ");
              matcher.describeMismatch(actual, description);
              fail("assertion on " + whatTheObjectIs + " failed", description.toString());
          }
      }
docs: Assert using a Hamcrest matcher.
  
  @param whatTheObjectIs what is the thing being tested, in a logical sense
  @param actual          the actual value
  @param matcher         a matcher to check the actual value against
  @param <T>             class of the actual value