package com.softwaremill.common.cdi.el;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.testng.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.softwaremill.common.arquillian.ManifestUtil;
import javax.inject.Inject;
import java.util.HashMap;
import java.util.Map;
/**
* @author Adam Warski (adam at warski dot org)
*/
public class ELEvaluatorTest extends Arquillian {
@Inject
private ELEvaluator elEvaluator;
@Deployment
public static JavaArchive createTestArchive() {
JavaArchive ar = ShrinkWrap.create(JavaArchive.class, "test.jar")
.addClasses(StringHoldingBean.class)
.addPackage(ELEvaluator.class.getPackage());
ar = ManifestUtil.addEmptyBeansXml(ar);
return ar;
}
@Test
public void testEvaluate() {
Assert.assertEquals(elEvaluator.evaluate("#{stringHoldingBean.value}", String.class), "test value");
}
@Test
public void testParameter() {
Map<String, Object> params = new HashMap<String, Object>();
params.put("testParam1", 123);
params.put("testParam2", 2);
Assert.assertEquals(elEvaluator.evaluate("#{testParam1 + 10 + testParam2}", Integer.class, params), (Integer) 135);
}
}