@Override
  public InterpreterResult interpret(String st, InterpreterContext context) {
    return helper.interpret(session, st, context);
  }
@Test
  void should_interpret_select_statement_with_formatting_options() {
    // When
    Map<String, String> props = intrContext.getLocalProperties();
    props.put("outputFormat", "human");
    props.put("locale", "de_DE");
    props.put("floatPrecision", "2");
    props.put("doublePrecision", "4");
    props.put("decimalPrecision", "5");
    props.put("timeFormat", "hh:mm");
    props.put("timestampFormat", "MM/dd/yy HH:mm");
    props.put("dateFormat", "EEEE, d MMMM yy");
    props.put("timezone", "Etc/GMT+2");
    String query =
        "select date,time,timestamp,dec,double,float,tuple,udt from zeppelin.test_format;";
    final InterpreterResult actual = interpreter.interpret(query, intrContext);
    props.remove("outputFormat");
    props.remove("locale");
    props.remove("floatPrecision");
    props.remove("doublePrecision");
    props.remove("decimalPrecision");
    props.remove("timeFormat");
    props.remove("timestampFormat");
    props.remove("dateFormat");
    props.remove("timezone");

    // Then
    assertNotNull(actual);
    assertEquals(Code.SUCCESS, actual.code());
    String expected = "date\ttime\ttimestamp\tdec\tdouble\tfloat\ttuple\tudt\n" +
        "Dienstag, 29 Januar 19\t04:05\t06/16/20 21:59\t123562352352,12346\t10,0153\t20,03\t" +
        "(1, text, 10)\t{id: 1, t: text, lst: [1, 2, 3]}\n";
    assertEquals(expected, actual.message().get(0).getData());
  }