void () { runPythonTest(new PyDebuggerTask("/debug", "test_set_value_dict.py") { @Override public void before() { toggleBreakpoint(getFilePath(getScriptName()), 6); } @Override public void testing() throws Exception { waitForPause(); List<PyDebugValue> frameVariables = loadFrame(); PyDebugValue var = findDebugValueByName(frameVariables, "objs"); PyDebugValue two = getDictItem(var, "'two'"); PyDebugValue three = getDictItem(var, "'three'"); eval("objs['two']").hasValue("2"); myDebugProcess.changeVariable(two, "\"change\""); eval("objs['two']").hasValue("'change'"); eval("objs['three']").hasValue("3"); myDebugProcess.changeVariable(three, "[1, 2, 3]"); eval("objs['three']").hasValue("[1, 2, 3]"); three = getDictItem(var, "'three'"); List<XValue> threeValues = XDebuggerTestUtil.collectChildren(three); PyDebugValue one = (PyDebugValue)threeValues.get(0); eval("objs['three'][0]").hasValue("1"); myDebugProcess.changeVariable(one, "\"hello\""); eval("objs['three'][0]").hasValue("'hello'"); } }); }