package ch.vorburger.el.engine.tests;
import static org.junit.Assert.assertEquals;
import ch.vorburger.el.engine.Expression;
import ch.vorburger.el.engine.ExpressionContext;
import ch.vorburger.el.engine.ExpressionFactory;
import ch.vorburger.el.engine.ExpressionParsingException;
/**
* Abstract base class for testing EL code generation.
*
* @author Michael Vorburger
*/
public abstract class AbstractExpressionGeneratorTestBase extends AbstractExpressionTestBase {
public AbstractExpressionGeneratorTestBase(ExpressionFactory expressionFactory) {
super(expressionFactory);
}
protected void checkGeneration(String expressionText, Class<?> expectedType, ExpressionContext context, String expectedGeneratedJavaCode) throws ExpressionParsingException {
Expression expression = expressionFactory.newExpressionFromString(expressionText, context);
String genJavaCode = expression.generateJavaCode(expectedType);
expression.dispose();
assertEquals(expectedGeneratedJavaCode, genJavaCode.trim());
}
}