test_class.declarator: httpServletResponse
test_class.modifier: private static
test_class.original_string: private static HttpServletResponseImpl httpServletResponse;
test_class.type: HttpServletResponseImpl
test_class.var_name: httpServletResponse
test_class.declarator: printWriter
test_class.modifier: private static
test_class.original_string: private static PrintWriter printWriter;
test_class.type: PrintWriter
test_class.var_name: printWriter
test_class.declarator: httpError500Handler
test_class.modifier: private static
test_class.original_string: private static HttpError500Handler httpError500Handler;
test_class.type: HttpError500Handler
test_class.var_name: httpError500Handler
test_class.declarator: arg = ArgumentCaptor.forClass(String.class)
test_class.modifier: @Captor
      private
test_class.original_string: @Captor
      private ArgumentCaptor<String> arg = ArgumentCaptor.forClass(String.class);
test_class.type: ArgumentCaptor<String>
test_class.var_name: arg
test_class.file: http/src/test/java/ro/polak/http/errorhandler/impl/HttpError500HandlerTest.java
test_class.identifier: HttpError500HandlerTest
test_case.body: @Test
      public void shouldDisplayClassNameAndNoExceptionMessageForNullValue() throws IOException {
          String msg = null;
          Exception e = new RuntimeException(msg);
  
          httpError500Handler.setReason(e).serve(httpServletResponse);
  
          verify(printWriter).write(arg.capture());
          String output = arg.getValue();
          assertThat(output, containsString(">java.lang.RuntimeException<"));
      }
test_case.class_method_signature: HttpError500HandlerTest.shouldDisplayClassNameAndNoExceptionMessageForNullValue()
test_case.full_signature: @Test public void shouldDisplayClassNameAndNoExceptionMessageForNullValue()
test_case.identifier: shouldDisplayClassNameAndNoExceptionMessageForNullValue
test_case.invocations: serve setReason write verify capture getValue assertThat containsString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldDisplayClassNameAndNoExceptionMessageForNullValue()
focal_class.file: http/src/main/java/ro/polak/http/errorhandler/impl/HttpError500Handler.java
focal_class.identifier: HttpError500Handler
focal_class.class_method_signature: HttpError500Handler.HttpError500Handler()
focal_class.full_signature: public  HttpError500Handler()
focal_class.identifier: HttpError500Handler
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  HttpError500Handler()
focal_class.class_method_signature: HttpError500Handler.setReason(final Throwable e)
focal_class.full_signature: public HttpError500Handler setReason(final Throwable e)
focal_class.identifier: setReason
focal_class.modifiers: public
focal_class.parameters: (final Throwable e)
focal_class.return: HttpError500Handler
focal_class.signature: HttpError500Handler setReason(final Throwable e)
focal_class.class_method_signature: HttpError500Handler.exceptionToString(final Throwable e)
focal_class.full_signature: private String exceptionToString(final Throwable e)
focal_class.identifier: exceptionToString
focal_class.modifiers: private
focal_class.parameters: (final Throwable e)
focal_class.return: String
focal_class.signature: String exceptionToString(final Throwable e)
focal_class.superclass: extends AbstractHtmlErrorHandler
focal_method.body: public HttpError500Handler setReason(final Throwable e) {
  
          StringBuilder stringBuilder = new StringBuilder();
          stringBuilder.append("<p style=\"color: red; font-weight: bold;\">");
          if (!StringUtilities.isEmpty(e.getMessage())) {
              stringBuilder.append(e.getMessage() + " ");
          }
          stringBuilder.append(e.getClass().getName() + "</p>\n")
                  .append("<pre>")
                  .append(exceptionToString(e))
                  .append("</pre>");
  
          setExplanation(stringBuilder.toString());
  
          return this;
      }
focal_method.class_method_signature: HttpError500Handler.setReason(final Throwable e)
focal_method.full_signature: public HttpError500Handler setReason(final Throwable e)
focal_method.identifier: setReason
focal_method.invocations: append isEmpty getMessage append getMessage append append append append getName getClass exceptionToString setExplanation toString
focal_method.modifiers: public
focal_method.parameters: (final Throwable e)
focal_method.return: HttpError500Handler
focal_method.signature: HttpError500Handler setReason(final Throwable e)