package com.querydsl.sql.dml; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; import com.google.common.collect.ImmutableList; import com.querydsl.sql.KeyAccessorsTest.QEmployee; import com.querydsl.sql.SQLBindings; import com.querydsl.sql.SQLTemplates; public class SQLDeleteClauseTest { @Test(expected = IllegalStateException.class) public void noConnection() { QEmployee emp1 = new QEmployee("emp1"); SQLDeleteClause delete = new SQLDeleteClause(null, SQLTemplates.DEFAULT, emp1); delete.where(emp1.id.eq(1)); delete.execute(); } @Test(expected = IllegalArgumentException.class) @Ignore public void error() { QEmployee emp1 = new QEmployee("emp1"); QEmployee emp2 = new QEmployee("emp2"); SQLDeleteClause delete = new SQLDeleteClause(null, SQLTemplates.DEFAULT, emp1); delete.where(emp2.id.eq(1)); } @Test public void getSQL() { QEmployee emp1 = new QEmployee("emp1"); SQLDeleteClause delete = new SQLDeleteClause(null, SQLTemplates.DEFAULT, emp1); delete.where(emp1.id.eq(1)); SQLBindings sql = delete.getSQL().get(0); assertEquals("delete from EMPLOYEE\nwhere EMPLOYEE.ID = ?", sql.getSQL()); assertEquals(ImmutableList.of(1), sql.getBindings()); } @Test public void clear() { QEmployee emp1 = new QEmployee("emp1"); SQLDeleteClause delete = new SQLDeleteClause(null, SQLTemplates.DEFAULT, emp1); delete.where(emp1.id.eq(1)); delete.addBatch(); assertEquals(1, delete.getBatchCount()); delete.clear(); assertEquals(0, delete.getBatchCount()); } }