package net.codjo.dataprocess.server.util;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import static net.codjo.test.common.matcher.JUnitMatchers.*;
/**
*
*/
public class ExtendedPreparedStatementTest {
private ExtendedPreparedStatement extendedPreparedStatement;
@Before
public void before() {
extendedPreparedStatement = new ExtendedPreparedStatement();
}
@Test
public void compileSql() {
Map<String, List<Integer>> positions = new HashMap<String, List<Integer>>();
String sql = "select * from T1 t where (t.name=${name} or t.surName=${name}) and age=${age}";
String compiledSql = extendedPreparedStatement.compileSql(sql, positions);
String exepectedCompiledsql = "select * from T1 t where (t.name=? or t.surName=?) and age=?";
assertThat(exepectedCompiledsql, equalTo(compiledSql));
assertThat(positions.get("surname"), nullValue());
assertThat(1, equalTo(positions.get("name").get(0)));
assertThat(2, equalTo(positions.get("name").get(1)));
assertThat(3, equalTo(positions.get("age").get(0)));
}
}