private void assertExecution(RankingExpression expression, ArrayContext contextPrototype) {
        ArrayContext context = contextPrototype.clone();
        for (String contextValueString : contextString.split("\n")) {
            String[] contextValueParts = contextValueString.split("=");
            context.put(contextValueParts[0].trim(), Double.valueOf(contextValueParts[1].trim()));
        }
        assertEquals("Context values not set are initialized to 0 doubles",
                     0.0, context.get("CHUNKTYPE").asDouble(), delta);
        assertEquals(-2.3450294999999994, expression.evaluate(context).asDouble(), delta);
    }
This tests reuse of a optimized context which is not initialized with
all values referenced in the expression.

@author bratseth
searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/gbdtoptimization/ContextReuseTestCase.java