SqlRequests { @SuppressWarnings("unchecked") @NonNull public static DBSql<DBArgumentCompile< SqlRequest, DBArgumentCompile<SqlRequest, DBCompile<SqlRequest>>>> sqlRequest() { return new SqlRequestCompiler(SQL_REQUEST); } private  SqlRequests(); @SuppressWarnings("unchecked") @NonNull static DBSql<DBArgumentCompile<
      SqlRequest, DBArgumentCompile<SqlRequest, DBCompile<SqlRequest>>>> sqlRequest(); @SuppressWarnings("unchecked") @NonNull static DBTable<DBWhereCompile<SqlDeleteRequest, DBArgumentCompile<
      SqlDeleteRequest, DBCompile<SqlDeleteRequest>>>> sqlDeleteRequest(); @SuppressWarnings("unchecked") @NonNull static DBTable<DBColumn<DBColumnConflictCompile<SqlInsertRequest, ?>>> sqlInsertRequest(); @SuppressWarnings("unchecked") @NonNull static DBTable<DBColumn<DBColumnWhereConflictCompile<SqlUpdateRequest,
      DBArgumentConflictCompile<SqlUpdateRequest, DBConflictCompile<SqlUpdateRequest>>, ?>>> sqlUpdateRequest();  }
@Test(expected = IllegalStateException.class) public void shouldThrowExceptionForReuseOfCompilerOfSql() { final DBSql<DBArgumentCompile<SqlRequest, DBArgumentCompile<SqlRequest, DBCompile<SqlRequest>>>> incompleteRequest = sqlRequest(); incompleteRequest.sql("sql").compile(); incompleteRequest.sql("sql"); }
@Test(expected = IllegalStateException.class) public void shouldThrowExceptionForReuseOfCompilerOfArguments() { final DBArgumentCompile<SqlRequest, DBArgumentCompile<SqlRequest, DBCompile<SqlRequest>>> incompleteRequest = sqlRequest().sql("sql"); incompleteRequest.arguments("arg", "arg").compile(); incompleteRequest.arguments("arg", "arg"); }