package com.blogspot.hypefree.fastexpr;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import com.blogspot.hypefree.fastexprbench.Evaluators;
public final class ExpressionEvaluationTest {
private static final double EXPECTED_RESULT = 2.0;
private static final double EXPECTED_PRECISION = 1e-10;
private Evaluators evaluators;
@Test
public void testParsii() throws Exception {
evaluators.compileParsii();
assertEquals(EXPECTED_RESULT, evaluators.evaluateParsii(),
EXPECTED_PRECISION);
}
@Test
public void testJeval() throws Exception {
evaluators.compileJeval();
assertEquals(EXPECTED_RESULT, evaluators.evaluateJeval(),
EXPECTED_PRECISION);
}
@Test
public void testJeplite() throws Exception {
evaluators.compileJeplite();
assertEquals(EXPECTED_RESULT, evaluators.evaluateJeplite(),
EXPECTED_PRECISION);
}
@Test
public void testMathEval() throws Exception {
evaluators.compileMVEL();
assertEquals(EXPECTED_RESULT, evaluators.evaluateMVEL(),
EXPECTED_PRECISION);
}
@Test
public void testExpr() throws Exception {
evaluators.compileExpr();
assertEquals(EXPECTED_RESULT, evaluators.evaluateExpr(),
EXPECTED_PRECISION);
}
@Test
public void testJanino() throws Exception {
evaluators.compileJanino();
assertEquals(EXPECTED_RESULT, evaluators.evaluateJanino(),
EXPECTED_PRECISION);
}
@Test
public void testJaninoFastexpr() throws Exception {
evaluators.compileJaninoFastexpr();
assertEquals(EXPECTED_RESULT, evaluators.evaluateJaninoFastexpr(), EXPECTED_PRECISION);
}
@Test
public void testMVEL() throws Exception {
evaluators.compileMVEL();
assertEquals(EXPECTED_RESULT, evaluators.evaluateMVEL(),
EXPECTED_PRECISION);
}
@Test
public void testMVELConstant() throws Exception {
evaluators.compileMVELConstant();
assertEquals(EXPECTED_RESULT, evaluators.evaluateMVELConstant(),
EXPECTED_PRECISION);
}
@Before
public void setUp() {
evaluators = new Evaluators();
}
}