import com.axiastudio.suite.base.entities.Utente; import com.axiastudio.suite.plugins.ooops.RuleSet; import groovy.lang.Binding; import groovy.lang.GroovyShell; import org.junit.*; import java.util.HashMap; import java.util.Map; /** * Created with IntelliJ IDEA. * User: tiziano * Date: 06/09/13 * Time: 10:18 * To change this template use File | Settings | File Templates. */ public class OoopsTest { @BeforeClass public static void setUpClass() { } @AfterClass public static void tearDownClass() { } @Before public void setUp() { } @After public void tearDown() { } @Test public void testGroovyFunction() { Utente mario = new Utente(); mario.setNome("Mario"); Binding binding = new Binding(); binding.setVariable("param", mario); GroovyShell shell = new GroovyShell(binding); String code = "{ utente -> utente.nome }"; String groovy = code + "(param)"; String res = (String) shell.evaluate(groovy); assert res.equals(mario.getNome()); } @Test public void testRuleSet() { Utente mario = new Utente(); mario.setNome("Mario"); HashMap<String,String> rules = new HashMap(); rules.put("nome", "{ utente -> utente.nome }"); RuleSet ruleSet = new RuleSet(rules); Map<String,Object> map = ruleSet.eval(mario); assert map.get("nome").equals(mario.getNome()); } }