public List<InterpreterResultMessage> message() {
    return msg;
  }
@Test
  void testComplexMagicData() {

    InterpreterResult result = null;

    result = new InterpreterResult(InterpreterResult.Code.SUCCESS,
        "some text before\n%table col1\tcol2\naaa\t123\n");
    assertEquals("some text before\n", result.message().get(0).getData(), "text before %table");
    assertEquals("col1\tcol2\naaa\t123\n", result.message().get(1).getData(), "text after %table");
    result = new InterpreterResult(InterpreterResult.Code.SUCCESS,
        "%html  <h3> This is a hack </h3>\n%table\ncol1\tcol2\naaa\t123\n");
    assertEquals(" <h3> This is a hack </h3>\n", result.message().get(0).getData());
    assertEquals("col1\tcol2\naaa\t123\n", result.message().get(1).getData());
    result = new InterpreterResult(InterpreterResult.Code.SUCCESS,
        "some text before magic word\n%table col1\tcol2\naaa\t123\n\n%html " +
            "<h3> This is a hack </h3>");
    assertEquals("<h3> This is a hack </h3>", result.message().get(2).getData());
    result = new InterpreterResult(InterpreterResult.Code.SUCCESS,
        "%table col1\tcol2\naaa\t123\n\n%html  <h3> This is a hack </h3>\n%table col1\naaa\n123\n");
    assertEquals("col1\naaa\n123\n", result.message().get(2).getData());
    result = new InterpreterResult(InterpreterResult.Code.SUCCESS,
        "%table " + "col1\tcol2\naaa\t123\n\n%table col1\naaa\n123\n");
    assertEquals("col1\tcol2\naaa\t123\n", result.message().get(0).getData());
    assertEquals("col1\naaa\n123\n", result.message().get(1).getData());
  }