public void assign(AssignType assignType, String name, String exp, boolean docString) {
        name = StringUtils.trimToEmpty(name);
        validateVariableName(name); // always validate when gherkin
        if (vars.containsKey(name)) {
            LOGGER.debug("over-writing existing variable '{}' with new value: {}", name, exp);
        }
        setVariable(name, evalAndCastTo(assignType, exp, docString));
    }
@Test
    void testResponseShortCuts() {
        assign("response", "{ foo: 'bar' }");
        matchEquals("response", "{ foo: 'bar' }");
        matchEquals("$", "{ foo: 'bar' }");
        matchEquals("response.foo", "'bar'");
        matchEquals("$.foo", "'bar'");
        assign("response", "<root><foo>bar</foo></root>");
        matchEquals("response", "<root><foo>bar</foo></root>");
        matchEquals("/", "<root><foo>bar</foo></root>");
        matchEquals("response/", "<root><foo>bar</foo></root>");
        matchEquals("response /", "<root><foo>bar</foo></root>");
    }