From 16f1c3df65a262bcb16b93f55ba768328bbb71a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Mon, 11 Jun 2012 19:18:23 +0300 Subject: [PATCH] #166 added test for QBE --- .../mysema/query/apt/GenericExporterTest.java | 1 + .../query/domain/QueryByExampleTest.java | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 querydsl-apt/src/test/java/com/mysema/query/domain/QueryByExampleTest.java diff --git a/querydsl-apt/src/test/java/com/mysema/query/apt/GenericExporterTest.java b/querydsl-apt/src/test/java/com/mysema/query/apt/GenericExporterTest.java index d0842c45b..02d33094f 100644 --- a/querydsl-apt/src/test/java/com/mysema/query/apt/GenericExporterTest.java +++ b/querydsl-apt/src/test/java/com/mysema/query/apt/GenericExporterTest.java @@ -44,6 +44,7 @@ public class GenericExporterTest extends AbstractProcessorTest{ expected.add("QDelegateTest_SimpleUser2.java"); expected.add("QDelegateTest_User.java"); expected.add("QDelegate2Test_Entity.java"); + expected.add("QExampleEntity.java"); // projections are not supported expected.add("QQueryProjectionTest_EntityWithProjection.java"); diff --git a/querydsl-apt/src/test/java/com/mysema/query/domain/QueryByExampleTest.java b/querydsl-apt/src/test/java/com/mysema/query/domain/QueryByExampleTest.java new file mode 100644 index 000000000..4c3df131c --- /dev/null +++ b/querydsl-apt/src/test/java/com/mysema/query/domain/QueryByExampleTest.java @@ -0,0 +1,33 @@ +package com.mysema.query.domain; + +import static org.junit.Assert.*; + +import org.junit.Test; + +import com.mysema.query.annotations.QueryDelegate; +import com.mysema.query.types.Predicate; + + +public class QueryByExampleTest { + + @QueryDelegate(ExampleEntity.class) + public static Predicate like(QExampleEntity qtype, ExampleEntity example) { + return example.name != null ? qtype.name.eq(example.name) : null; + } + + @Test + public void Name_Not_Set() { + ExampleEntity entity = new ExampleEntity(); + Predicate qbe = QExampleEntity.exampleEntity.like(entity); + assertNull(qbe); + } + + @Test + public void Name_Set() { + ExampleEntity entity = new ExampleEntity(); + entity.name = "XXX"; + Predicate qbe = QExampleEntity.exampleEntity.like(entity); + assertEquals("exampleEntity.name = XXX", qbe.toString()); + } + +}