querydsl/querydsl-sql/src/test/java/com/mysema/query/sql/JoinFlagsTest.java
2011-01-02 18:55:31 +00:00

85 lines
2.3 KiB
Java

package com.mysema.query.sql;
import static org.junit.Assert.assertEquals;
import java.sql.Connection;
import org.easymock.EasyMock;
import org.junit.Before;
import org.junit.Test;
import com.mysema.query.JoinFlag;
import com.mysema.query.sql.domain.QSurvey;
public class JoinFlagsTest {
private Connection connection = EasyMock.createMock(Connection.class);
private QSurvey s1, s2, s3, s4, s5, s6;
private SQLQueryImpl query;
@Before
public void setUp(){
s1 = new QSurvey("s");
s2 = new QSurvey("s2");
s3 = new QSurvey("s3");
s4 = new QSurvey("s4");
s5 = new QSurvey("s5");
s6 = new QSurvey("s6");
query = new SQLQueryImpl(connection,SQLTemplates.DEFAULT);
query.from(s1);
}
@Test
public void JoinFlag_BeforeCondition(){
query.innerJoin(s2).on(s1.eq(s2));
query.addJoinFlag(" a ", JoinFlag.Position.BEFORE_CONDITION);
assertEquals("from SURVEY s\n" +
"inner join SURVEY s2 a \n" +
"on s = ?", query.toString());
}
@Test
public void JoinFlags_BeforeTarget(){
query.innerJoin(s3).on(s1.eq(s3));
query.addJoinFlag(" b ", JoinFlag.Position.BEFORE_TARGET);
assertEquals("from SURVEY s\n" +
"inner join b SURVEY s3\n" +
"on s = ?", query.toString());
}
@Test
public void JoinFlags_End(){
query.innerJoin(s4).on(s1.eq(s4));
query.addJoinFlag(" c ", JoinFlag.Position.END);
assertEquals("from SURVEY s\n" +
"inner join SURVEY s4\n" +
"on s = ? c", query.toString());
}
@Test
public void JoinFlags_Override(){
query.innerJoin(s5).on(s1.eq(s5));
query.addJoinFlag(" d ", JoinFlag.Position.OVERRIDE);
assertEquals("from SURVEY s d SURVEY s5\n" +
"on s = ?", query.toString());
}
@Test
public void JoinFlags_Start(){
query.innerJoin(s6).on(s1.eq(s6));
query.addJoinFlag(" e ", JoinFlag.Position.START);
assertEquals("from SURVEY s e \n" +
"inner join SURVEY s6\n" +
"on s = ?", query.toString());
}
}