package org.jboss.loom.utils.el; import java.util.HashMap; import java.util.Map; import org.jboss.loom.utils.el.IExprLangEvaluator.IVariablesProvider; import static org.junit.Assert.*; import org.junit.Test; /** * * @author Ondrej Zizka, ozizka at redhat.com */ public class ELUtilsTest { private static final Map<String, Object> PERSON_MAP_01 = new HashMap(){{ put("person", new Person("Ondra")); }}; private static final IVariablesProvider PERSON_MAP_01_VAR_PROVIDER = new IVariablesProvider<Object>() { @Override public Object getVariable( String name ) { return PERSON_MAP_01.get( name ); } }; @Test public void testSimpleEvaluator() { System.out.println( "SimpleEvaluator" ); doTestBean( new SimpleEvaluator(PERSON_MAP_01) ); } @Test public void testSimpleEvaluator2() { System.out.println( "SimpleEvaluator2" ); doTestSimple( new SimpleEvaluator(PERSON_MAP_01) ); } @Test public void testJuelCustomResolverEvaluator() { System.out.println("JuelCustomResolverEvaluator"); doTestBean( new JuelCustomResolverEvaluator(PERSON_MAP_01_VAR_PROVIDER) ); } void doTestSimple( IExprLangEvaluator ev ){ String greet = ev.evaluateEL("Hello ${person}!"); assertEquals( "Hello Ondra!", greet ); } void doTestBean( IExprLangEvaluator ev ) { String greet = ev.evaluateEL("Hello ${person.name} ${person.surname}, ${person.age}!"); assertEquals( "Hello Ondra , 19!", greet ); } public static class Person { String name; public Person( String name ) { this.name = name; } public String getName(){ return this.name; } public int getAge(){ return 19; } @Override public String toString() { return this.name; } } }// class