/** Test Delegate Method Call */ public void testCase1() throws Exception { ContextA contextA = new ContextA(); ContextB contextB = new ContextB(); OOEEContext context = OOEEContextFactory.createOOEEContext(); context.setParsingContextObject("$", contextA); context.setEvaluationContextObject("$", contextA); context.setParsingContextObject("#", contextB); context.setEvaluationContextObject("#", contextB); String expressionStr = "$setValue(\"a\")"; Expression expression = ExpressionParser.parse(expressionStr, context); ExpressionEvaluator.evaluate(expression, context); expressionStr = "#setValue(\"b\")"; expression = ExpressionParser.parse(expressionStr, context); ExpressionEvaluator.evaluate(expression, context); expressionStr = "$var"; expression = ExpressionParser.parse(expressionStr, context); Object value = ExpressionEvaluator.evaluate(expression, context); assertEquals("a", value); expressionStr = "#var"; expression = ExpressionParser.parse(expressionStr, context); value = ExpressionEvaluator.evaluate(expression, context); assertEquals("b", value); SerializeUtil.serializeData(expression); SerializeUtil.serializeData(context); }
public void testCase2() throws Exception { ContextA contextA = new ContextA(); OOEEContext context = OOEEContextFactory.createOOEEContext(); context.setParsingContextObject("$", contextA); context.setEvaluationContextObject("$", contextA); String expressionStr = "$setValue(\"a\")"; Expression expression = ExpressionParser.parse(expressionStr, context); ExpressionEvaluator.evaluate(expression, context); expressionStr = "$var\"aa\""; try { expression = ExpressionParser.parse(expressionStr, context); fail("no exception happend"); } catch (Exception e) { assertTrue(true); } }