public final StringSubject hasMessageThat() {
    StandardSubjectBuilder check = check("getMessage()");
    if (actual instanceof ErrorWithFacts && ((ErrorWithFacts) actual).facts().size() > 1) {
      check =
          check.withMessage(
              "(Note from Truth: When possible, instead of asserting on the full message, assert"
                  + " about individual facts by using ExpectFailure.assertThat.)");
    }
    return check.that(checkNotNull(actual).getMessage());
  }
@Test
  public void hasMessageThat_failure() {
    NullPointerException actual = new NullPointerException("message");
    expectFailureWhenTestingThat(actual).hasMessageThat().isEqualTo("foobar");
    assertFailureValue("value of", "throwable.getMessage()");
    assertErrorHasActualAsCause(actual, expectFailure.getFailure());
  }