Add tests

This commit is contained in:
Timo Westkämper 2014-07-10 23:10:00 +03:00
parent f21e7b24da
commit 4f22009cd1
5 changed files with 64 additions and 2 deletions

View File

@ -135,8 +135,8 @@ public class SQLUpdateClause extends AbstractSQLClause<SQLUpdateClause> implemen
serializer.serializeUpdate(batches.get(i).getMetadata(), entity, batches.get(i).getUpdates());
stmt = stmts.get(serializer.toString());
if (stmt == null) {
stmt = connection.prepareStatement(queryString);
stmts.put(queryString, stmt);
stmt = connection.prepareStatement(serializer.toString());
stmts.put(serializer.toString(), stmt);
}
setParameters(stmt, serializer.getConstants(), serializer.getConstantPaths(), metadata.getParams());
stmt.addBatch();

View File

@ -58,6 +58,18 @@ public class DeleteBase extends AbstractBaseTest{
assertEquals(2, delete.execute());
}
@Test
@ExcludeIn(SQLITE)
public void Batch_Templates() throws SQLException{
insert(survey).values(2, "A","B").execute();
insert(survey).values(3, "B","C").execute();
SQLDeleteClause delete = delete(survey);
delete.where(survey.name.eq(Expressions.stringTemplate("'A'"))).addBatch();
delete.where(survey.name.eq(Expressions.stringTemplate("'B'"))).addBatch();
assertEquals(2, delete.execute());
}
@Test
@ExcludeIn(MYSQL)
public void Delete() throws SQLException{

View File

@ -134,6 +134,23 @@ public class InsertBase extends AbstractBaseTest {
assertEquals(1l, query().from(survey).where(survey.name.eq("66")).count());
}
@Test
public void Insert_Batch_Templates() {
SQLInsertClause insert = insert(survey)
.set(survey.id, 5)
.set(survey.name, Expressions.stringTemplate("'55'"))
.addBatch();
insert.set(survey.id, 6)
.set(survey.name, Expressions.stringTemplate("'66'"))
.addBatch();
assertEquals(2, insert.execute());
assertEquals(1l, query().from(survey).where(survey.name.eq("55")).count());
assertEquals(1l, query().from(survey).where(survey.name.eq("66")).count());
}
@Test
public void Insert_Batch2() {
SQLInsertClause insert = insert(survey)

View File

@ -145,6 +145,28 @@ public class MergeBase extends AbstractBaseTest{
assertEquals(1l, query().from(survey).where(survey.name.eq("6")).count());
}
@Test
@IncludeIn(H2)
public void MergeBatch_Templates() {
SQLMergeClause merge = merge(survey)
.keys(survey.id)
.set(survey.id, 5)
.set(survey.name, Expressions.stringTemplate("'5'"))
.addBatch();
merge
.keys(survey.id)
.set(survey.id, 6)
.set(survey.name, Expressions.stringTemplate("'6'"))
.addBatch();
assertEquals(2, merge.execute());
assertEquals(1l, query().from(survey).where(survey.name.eq("5")).count());
assertEquals(1l, query().from(survey).where(survey.name.eq("6")).count());
}
@Test
@IncludeIn(H2)
public void MergeBatch_with_subquery() {

View File

@ -123,6 +123,17 @@ public class UpdateBase extends AbstractBaseTest {
assertEquals(2, update.execute());
}
@Test
public void Batch_Templates() throws SQLException{
insert(survey).values(2, "A","B").execute();
insert(survey).values(3, "B","C").execute();
SQLUpdateClause update = update(survey);
update.set(survey.name, "AA").where(survey.name.eq(Expressions.stringTemplate("'A'"))).addBatch();
update.set(survey.name, "BB").where(survey.name.eq(Expressions.stringTemplate("'B'"))).addBatch();
assertEquals(2, update.execute());
}
@Test
public void Update_with_SubQuery_exists() {
QSurvey survey1 = new QSurvey("s1");