コード例 #1
0
  @Test
  public void testAddJsonMapValueAsNested() throws Exception {
    ScriptWrapper wrapper = new ScriptWrapper();
    wrapper.addLine("AddJsonMapValue $mockObject.mockString, key=k2, value=v2");

    // parse
    HulaExecutable parserResult = parseAndAssert(wrapper.toString());

    Map<String, String> values = new HashMap<String, String>();
    values.put("k1", "v1");
    MockObject mo1 = new MockObject();
    mo1.mockString = new Gson().toJson(values);

    // run
    HulaContext hctx = new HulaContext();
    hctx.setParameter("mockObject", mo1);
    evaluateBeanShell(parserResult, hctx);

    MockObject mo2 = (MockObject) hctx.getParameter("mockObject");

    Assert.assertEquals("invalid json", "{\"k1\":\"v1\",\"k2\":\"v2\"}", mo2.mockString);
  }