From 12e85d45ef61ea05171bbc49e31d809ad245502d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 28 Apr 2011 05:59:28 +0000 Subject: [PATCH] added tests --- .../java/com/mysema/query/SelectBaseTest.java | 30 +++++++++++++++---- .../com/mysema/query/sql/domain/Employee.java | 6 ++++ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/querydsl-sql/src/test/java/com/mysema/query/SelectBaseTest.java b/querydsl-sql/src/test/java/com/mysema/query/SelectBaseTest.java index 66cf1bab3..ccf37e63d 100644 --- a/querydsl-sql/src/test/java/com/mysema/query/SelectBaseTest.java +++ b/querydsl-sql/src/test/java/com/mysema/query/SelectBaseTest.java @@ -803,17 +803,22 @@ public abstract class SelectBaseTest extends AbstractBaseTest{ @SuppressWarnings("unchecked") @Test - public void Union_Multi_Column_Projection() throws IOException{ + public void Union_Multi_Column_Projection_List() throws IOException{ SubQueryExpression sq1 = sq().from(employee).unique(employee.id.max(), employee.id.max().subtract(1)); SubQueryExpression sq2 = sq().from(employee).unique(employee.id.min(), employee.id.min().subtract(1)); - // list List list = query().union(sq1, sq2).list(); assertEquals(2, list.size()); assertTrue(list.get(0) != null); assertTrue(list.get(1) != null); + } + + @SuppressWarnings("unchecked") + @Test + public void Union_Multi_Column_Projection_Iterate() throws IOException{ + SubQueryExpression sq1 = sq().from(employee).unique(employee.id.max(), employee.id.max().subtract(1)); + SubQueryExpression sq2 = sq().from(employee).unique(employee.id.min(), employee.id.min().subtract(1)); - // iterator CloseableIterator iterator = query().union(sq1,sq2).iterate(); try{ assertTrue(iterator.hasNext()); @@ -827,17 +832,22 @@ public abstract class SelectBaseTest extends AbstractBaseTest{ @SuppressWarnings("unchecked") @Test - public void Union_Single_Column_Projections() throws IOException{ + public void Union_Single_Column_Projections_List() throws IOException{ SubQueryExpression sq1 = sq().from(employee).unique(employee.id.max()); SubQueryExpression sq2 = sq().from(employee).unique(employee.id.min()); - // list List list = query().union(sq1, sq2).list(); assertEquals(2, list.size()); assertTrue(list.get(0) != null); assertTrue(list.get(1) != null); + } + + @SuppressWarnings("unchecked") + @Test + public void Union_Single_Column_Projections_Iterate() throws IOException{ + SubQueryExpression sq1 = sq().from(employee).unique(employee.id.max()); + SubQueryExpression sq2 = sq().from(employee).unique(employee.id.min()); - // iterator CloseableIterator iterator = query().union(sq1,sq2).iterate(); try{ assertTrue(iterator.hasNext()); @@ -849,6 +859,14 @@ public abstract class SelectBaseTest extends AbstractBaseTest{ } } + @SuppressWarnings("unchecked") + @Test + public void Union_FactoryExpression() { + ListSubQuery sq1 = sq().from(employee).list(Projections.constructor(Employee.class, employee.id)); + ListSubQuery sq2 = sq().from(employee).list(Projections.constructor(Employee.class, employee.id)); + query().union(sq1, sq2).list(); + } + @Test public void Unique_Constructor_Projection(){ // unique constructor projection diff --git a/querydsl-sql/src/test/java/com/mysema/query/sql/domain/Employee.java b/querydsl-sql/src/test/java/com/mysema/query/sql/domain/Employee.java index 1020302c7..6deb3ae1a 100644 --- a/querydsl-sql/src/test/java/com/mysema/query/sql/domain/Employee.java +++ b/querydsl-sql/src/test/java/com/mysema/query/sql/domain/Employee.java @@ -38,6 +38,12 @@ public class Employee { @Column("SUPERIOR_ID") private Integer superiorId; + public Employee() {} + + public Employee(int id) { + this.id = id; + } + public int getId() { return id; }