@Test
void equals_hashCode_toString() {

    String id = "1";
    String text = "error message";
    ErrorMessage message = ErrorMessage.of(id, text);
    PortableErrorMessage portableErrorMessage = PortableErrorMessage.fromMessage(message);
    assertThat(portableErrorMessage).isNotEqualTo(null)
            // equals()
            .isNotEqualTo(new PortableErrorMessage("", text))
            .isNotEqualTo(new PortableErrorMessage(id, ""))
            .isNotEqualTo(message)
            .isEqualTo(portableErrorMessage)
            .isEqualTo(new PortableErrorMessage(id, text))
            // hasCode()
            .hasSameHashCodeAs(new PortableErrorMessage(id, text))
            // toString()
            .asString().contains(id, text);
}