test_class.file: optaweb-vehicle-routing-backend/src/test/java/org/optaweb/vehiclerouting/plugin/websocket/WebSocketErrorMessageSenderTest.java
test_class.identifier: WebSocketErrorMessageSenderTest
test_case.body: @Test
      void should_send_consumed_message_over_websocket(@Mock SimpMessagingTemplate webSocket) {
          ErrorMessage message = ErrorMessage.of("id", "error");
          new WebSocketErrorMessageSender(webSocket).consumeMessage(message);
          verify(webSocket).convertAndSend(
                  WebSocketErrorMessageSender.TOPIC_ERROR,
                  PortableErrorMessage.fromMessage(message));
      }
test_case.class_method_signature: WebSocketErrorMessageSenderTest.should_send_consumed_message_over_websocket(@Mock SimpMessagingTemplate webSocket)
test_case.full_signature: @Test void should_send_consumed_message_over_websocket(@Mock SimpMessagingTemplate webSocket)
test_case.identifier: should_send_consumed_message_over_websocket
test_case.invocations: of consumeMessage convertAndSend verify fromMessage
test_case.modifiers: @Test
test_case.parameters: (@Mock SimpMessagingTemplate webSocket)
test_case.return: void
test_case.signature: void should_send_consumed_message_over_websocket(@Mock SimpMessagingTemplate webSocket)
focal_class.declarator: TOPIC_ERROR = "/topic/error"
focal_class.modifier: static final
focal_class.original_string: static final String TOPIC_ERROR = "/topic/error";
focal_class.type: String
focal_class.var_name: TOPIC_ERROR
focal_class.declarator: webSocket
focal_class.modifier: private final
focal_class.original_string: private final SimpMessagingTemplate webSocket;
focal_class.type: SimpMessagingTemplate
focal_class.var_name: webSocket
focal_class.file: optaweb-vehicle-routing-backend/src/main/java/org/optaweb/vehiclerouting/plugin/websocket/WebSocketErrorMessageSender.java
focal_class.identifier: WebSocketErrorMessageSender
focal_class.interfaces: implements ErrorMessageConsumer
focal_class.class_method_signature: WebSocketErrorMessageSender.WebSocketErrorMessageSender(SimpMessagingTemplate webSocket)
focal_class.full_signature: @Autowired  WebSocketErrorMessageSender(SimpMessagingTemplate webSocket)
focal_class.identifier: WebSocketErrorMessageSender
focal_class.modifiers: @Autowired
focal_class.parameters: (SimpMessagingTemplate webSocket)
focal_class.signature:  WebSocketErrorMessageSender(SimpMessagingTemplate webSocket)
focal_class.class_method_signature: WebSocketErrorMessageSender.consumeMessage(ErrorMessage message)
focal_class.full_signature: @Override public void consumeMessage(ErrorMessage message)
focal_class.identifier: consumeMessage
focal_class.modifiers: @Override public
focal_class.parameters: (ErrorMessage message)
focal_class.return: void
focal_class.signature: void consumeMessage(ErrorMessage message)
focal_method.body: @Override
      public void consumeMessage(ErrorMessage message) {
          webSocket.convertAndSend(TOPIC_ERROR, PortableErrorMessage.fromMessage(message));
      }
focal_method.class_method_signature: WebSocketErrorMessageSender.consumeMessage(ErrorMessage message)
focal_method.full_signature: @Override public void consumeMessage(ErrorMessage message)
focal_method.identifier: consumeMessage
focal_method.invocations: convertAndSend fromMessage
focal_method.modifiers: @Override public
focal_method.parameters: (ErrorMessage message)
focal_method.return: void
focal_method.signature: void consumeMessage(ErrorMessage message)