### Question:
OCFRuntimeException extends RuntimeException { @Override public int hashCode() { int result = Objects.hash(reportedHTTPCode, reportingClassName, reportingActionDescription, reportedErrorMessage, reportedErrorMessageId, reportedSystemAction, reportedUserAction, reportedCaughtException, relatedProperties); result = 31 * result + Arrays.hashCode(reportedErrorMessageParameters); return result; } OCFRuntimeException(ExceptionMessageDefinition messageDefinition,
                               String                     className,
                               String                     actionDescription);  OCFRuntimeException(ExceptionMessageDefinition messageDefinition,
                               String                     className,
                               String                     actionDescription,
                               Map<String, Object>        relatedProperties);  OCFRuntimeException(ExceptionMessageDefinition messageDefinition,
                               String                     className,
                               String                     actionDescription,
                               Throwable                  caughtError);  OCFRuntimeException(ExceptionMessageDefinition messageDefinition,
                               String                     className,
                               String                     actionDescription,
                               Throwable                  caughtError,
                               Map<String, Object>        relatedProperties);  OCFRuntimeException(int                 httpCode,
                               String              className,
                               String              actionDescription,
                               String              errorMessage,
                               String              errorMessageId,
                               String[]            errorMessageParameters,
                               String              systemAction,
                               String              userAction,
                               String              caughtErrorClassName,
                               Map<String, Object> relatedProperties);  OCFRuntimeException(String              errorMessage,
                               OCFRuntimeException template);  OCFRuntimeException(OCFRuntimeException template); @Deprecated  OCFRuntimeException(int  httpCode, String className, String  actionDescription, String errorMessage, String systemAction, String userAction); @Deprecated  OCFRuntimeException(int  httpCode, String className, String  actionDescription, String errorMessage, String systemAction, String userAction, Map<String, Object> relatedProperties); @Deprecated  OCFRuntimeException(int  httpCode, String className, String  actionDescription, String errorMessage, String systemAction, String userAction, Throwable caughtError); @Deprecated  OCFRuntimeException(int  httpCode, String className, String  actionDescription, String errorMessage, String systemAction, String userAction, Throwable caughtError, Map<String, Object> relatedProperties); int getReportedHTTPCode(); String getReportingClassName(); String getReportingActionDescription(); @Deprecated String getErrorMessage(); String getReportedErrorMessage(); String getReportedErrorMessageId(); String[] getReportedErrorMessageParameters(); String getReportedSystemAction(); String getReportedUserAction(); Throwable getReportedCaughtException(); String getReportedCaughtExceptionClassName(); Map<String, Object> getRelatedProperties(); @Override boolean equals(Object objectToCompare); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testHashCode() { OCFRuntimeException exception = new OCFRuntimeException(OCFErrorCode.NO_MORE_ELEMENTS.getMessageDefinition("IteratorName", "entityGUID", "entityType"), reportingClassName, reportingActionDescription, reportedCaughtException); OCFRuntimeException exception2 = new OCFRuntimeException(OCFErrorCode.NO_MORE_ELEMENTS.getMessageDefinition("IteratorName", "entityGUID", "entityType"), reportingClassName, reportingActionDescription, reportedCaughtException); assertTrue(exception.hashCode() == exception2.hashCode()); assertTrue(exception.equals(exception)); assertFalse(exception.equals(reportedCaughtException)); assertTrue(exception.equals(exception2)); assertTrue(exception.toString().contains("OCFRuntimeException")); assertTrue(exception.toString().equals(exception2.toString())); }