From 8043fe4b21f2df2929ed9057aafec5afdf5538d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 4 Aug 2011 07:33:46 +0000 Subject: [PATCH] added tests --- .../mysema/query/support/ExpressionsTest.java | 152 ++++++++++++++++++ .../mysema/query/types/ConvertersTest.java | 66 ++++++++ 2 files changed, 218 insertions(+) create mode 100644 querydsl-core/src/test/java/com/mysema/query/support/ExpressionsTest.java create mode 100644 querydsl-core/src/test/java/com/mysema/query/types/ConvertersTest.java diff --git a/querydsl-core/src/test/java/com/mysema/query/support/ExpressionsTest.java b/querydsl-core/src/test/java/com/mysema/query/support/ExpressionsTest.java new file mode 100644 index 000000000..e1b0e3262 --- /dev/null +++ b/querydsl-core/src/test/java/com/mysema/query/support/ExpressionsTest.java @@ -0,0 +1,152 @@ +package com.mysema.query.support; + +import static org.junit.Assert.assertEquals; + +import java.util.Date; + +import org.junit.Test; + +import com.mysema.query.types.Ops; +import com.mysema.query.types.expr.BooleanExpression; +import com.mysema.query.types.path.BooleanPath; + +public class ExpressionsTest { + + private final BooleanExpression a = new BooleanPath("a"), b = new BooleanPath("b"); + + @Test + public void AllOf() { + assertEquals("a && b", Expressions.allOf(a, b).toString()); + } + + @Test + public void AnyOf() { + assertEquals("a || b", Expressions.anyOf(a, b).toString()); + } + + @Test + public void Constant() { + assertEquals("X", Expressions.constant("X").toString()); + } + + @Test + public void Template() { + assertEquals("a && b", Expressions.template(Object.class, "{0} && {1}", a, b).toString()); + } + + @Test + public void ComparableTemplate() { + assertEquals("a && b", Expressions.comparableTemplate(Boolean.class, "{0} && {1}", a, b).toString()); + } + + @Test + public void NumberTemplate() { + assertEquals("1", Expressions.numberTemplate(Integer.class, "1").toString()); + } + + @Test + public void StringTemplate() { + assertEquals("X", Expressions.stringTemplate("X").toString()); + } + + @Test + public void BooleanTemplate() { + assertEquals("a && b", Expressions.booleanTemplate("{0} && {1}", a, b).toString()); + } + + @Test + public void SubQuery() { + // TODO + } + + @Test + public void Operation() { + assertEquals("a && b", Expressions.operation(Boolean.class, Ops.AND, a, b).toString()); + } + + @Test + public void PathClassOfTString() { + assertEquals("variable", Expressions.path(String.class, "variable").toString()); + } + + @Test + public void PathClassOfTPathOfQString() { + assertEquals("variable.property", Expressions.path(String.class, Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void ComparablePathClassOfTString() { + assertEquals("variable", Expressions.comparablePath(String.class, "variable").toString()); + } + + @Test + public void ComparablePathClassOfTPathOfQString() { + assertEquals("variable.property", Expressions.comparablePath(String.class, Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void DatePathClassOfTString() { + assertEquals("variable", Expressions.datePath(Date.class, "variable").toString()); + } + + @Test + public void DatePathClassOfTPathOfQString() { + assertEquals("variable.property", Expressions.datePath(Date.class, Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void DateTimePathClassOfTString() { + assertEquals("variable", Expressions.dateTimePath(Date.class, "variable").toString()); + } + + @Test + public void DateTimePathClassOfTPathOfQString() { + assertEquals("variable.property", Expressions.dateTimePath(Date.class, Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void TimePathClassOfTString() { + assertEquals("variable", Expressions.timePath(Date.class, "variable").toString()); + } + + @Test + public void TimePathClassOfTPathOfQString() { + assertEquals("variable.property", Expressions.timePath(Date.class, Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void NumberPathClassOfTString() { + assertEquals("variable", Expressions.numberPath(Integer.class, "variable").toString()); + } + + @Test + public void NumberPathClassOfTPathOfQString() { + assertEquals("variable.property", Expressions.numberPath(Integer.class, Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void StringPathString() { + assertEquals("variable", Expressions.stringPath("variable").toString()); + } + + @Test + public void StringPathPathOfQString() { + assertEquals("variable.property", Expressions.stringPath(Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void BooleanPathString() { + assertEquals("variable", Expressions.booleanPath("variable").toString()); + } + + @Test + public void BooleanPathPathOfQString() { + assertEquals("variable.property", Expressions.booleanPath(Expressions.path(Object.class, "variable"), "property").toString()); + } + + @Test + public void Cases() { + // TODO + } + +} diff --git a/querydsl-core/src/test/java/com/mysema/query/types/ConvertersTest.java b/querydsl-core/src/test/java/com/mysema/query/types/ConvertersTest.java new file mode 100644 index 000000000..70a96571c --- /dev/null +++ b/querydsl-core/src/test/java/com/mysema/query/types/ConvertersTest.java @@ -0,0 +1,66 @@ +package com.mysema.query.types; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import com.mysema.query.types.path.StringPath; + + +public class ConvertersTest { + + private static final Converters converters = new Converters('\\'); + + private static Constant constant = ConstantImpl.create("abcDEF"); + + private static StringPath path = new StringPath("string"); + + @Test + public void ToLowerCase() { + assertEquals("abcdef", converters.toLowerCase.transform(constant).toString()); + assertEquals("lower(string)", converters.toLowerCase.transform(path).toString()); + } + + @Test + public void ToUpperCase() { + assertEquals("ABCDEF", converters.toUpperCase.transform(constant).toString()); + assertEquals("upper(string)", converters.toUpperCase.transform(path).toString()); + } + + @Test + public void ToStartsWithViaLike() { + assertEquals("abcDEF%", converters.toStartsWithViaLike.transform(constant).toString()); + assertEquals("string + %", converters.toStartsWithViaLike.transform(path).toString()); + } + + @Test + public void ToStartsWithViaLikeLower() { + assertEquals("abcdef%", converters.toStartsWithViaLikeLower.transform(constant).toString()); + assertEquals("lower(string + %)", converters.toStartsWithViaLikeLower.transform(path).toString()); + } + + @Test + public void ToEndsWithViaLike() { + assertEquals("%abcDEF", converters.toEndsWithViaLike.transform(constant).toString()); + assertEquals("% + string", converters.toEndsWithViaLike.transform(path).toString()); + } + + @Test + public void ToEndsWithViaLikeLower() { + assertEquals("%abcdef", converters.toEndsWithViaLikeLower.transform(constant).toString()); + assertEquals("lower(% + string)", converters.toEndsWithViaLikeLower.transform(path).toString()); + } + + @Test + public void ToContainsViaLike() { + assertEquals("%abcDEF%", converters.toContainsViaLike.transform(constant).toString()); + assertEquals("% + string + %", converters.toContainsViaLike.transform(path).toString()); + } + + @Test + public void ToContainsViaLikeLower() { + assertEquals("%abcdef%", converters.toContainsViaLikeLower.transform(constant).toString()); + assertEquals("lower(% + string + %)", converters.toContainsViaLikeLower.transform(path).toString()); + } +} +