querydsl/querydsl-sql/src/test/java/com/mysema/query/sql/SQLSerializerTest.java
2010-08-29 18:18:35 +00:00

56 lines
1.8 KiB
Java

/*
* Copyright (c) 2010 Mysema Ltd.
* All rights reserved.
*
*/
package com.mysema.query.sql;
import static org.junit.Assert.assertEquals;
import java.sql.Connection;
import org.easymock.EasyMock;
import org.junit.Test;
import com.mysema.query.BooleanBuilder;
import com.mysema.query.sql.dml.SQLInsertClause;
import com.mysema.query.sql.dml.SQLUpdateClause;
import com.mysema.query.sql.domain.QSurvey;
public class SQLSerializerTest {
@Test
public void testBoolean(){
QSurvey s = new QSurvey("s");
BooleanBuilder bb1 = new BooleanBuilder();
bb1.and(s.name.eq(s.name));
BooleanBuilder bb2 = new BooleanBuilder();
bb2.or(s.name.eq(s.name));
bb2.or(s.name.eq(s.name));
String str = new SQLSerializer(SQLTemplates.DEFAULT).handle(bb1.and(bb2)).toString();
assertEquals("s.NAME = s.NAME and (s.NAME = s.NAME or s.NAME = s.NAME)", str);
}
@Test
public void testUpdate(){
Connection connection = EasyMock.createMock(Connection.class);
QSurvey survey = new QSurvey("survey");
SQLUpdateClause updateClause = new SQLUpdateClause(connection,SQLTemplates.DEFAULT,survey);
updateClause.set(survey.id, 1);
updateClause.set(survey.name, null);
assertEquals("update SURVEY\nset ID = ?, NAME = null", updateClause.toString());
}
@Test
public void testInsert(){
Connection connection = EasyMock.createMock(Connection.class);
QSurvey survey = new QSurvey("survey");
SQLInsertClause insertClause = new SQLInsertClause(connection,SQLTemplates.DEFAULT,survey);
insertClause.set(survey.id, 1);
insertClause.set(survey.name, null);
assertEquals("insert into SURVEY(ID, NAME)\nvalues (?, null)", insertClause.toString());
}
}