package com.java110.service;
import bsh.Interpreter;
import com.alibaba.fastjson.JSONObject;
import com.java110.service.smo.impl.QueryServiceSMOImpl;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.ibatis.ognl.OgnlException;
import org.dom4j.DocumentException;
import java.util.HashMap;
import java.util.Map;
/**
* Created by wuxw on 2018/4/23.
*/
public class InterpreterTest extends TestCase {
/**
* Create the test case
*
* @param testName name of the test case
*/
public InterpreterTest( String testName )
{
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite()
{
return new TestSuite( InterpreterTest.class );
}
/**
* Rigourous Test :-)
*/
public void testInterpreter() throws Exception
{
String javaCode = "public int add(int a, int b){" +
"return a+b;" +
"}" +
"" +
"public int execute(int a,int b){" +
"return add(a,b);" +
"}";
Interpreter interpreter = new Interpreter();
interpreter.eval(javaCode);
String param = "9,4";
System.out.println(interpreter.eval("execute("+param+")").toString());
}
public void testDealSqlIf() throws OgnlException, DocumentException {
String oldSql = "select * from s_a a\n" +
" where \n" +
" a.name = #name#\n" +
" " +
" and a.sex = #name#" +
" and a.id = #id# ";
QueryServiceSMOImpl queryServiceSMO = new QueryServiceSMOImpl();
JSONObject params = new JSONObject();
params.put("id","123213");
params.put("name","123213");
System.out.println((queryServiceSMO.dealSqlIf(oldSql, params)));
}
}