From 26e88f5ab65947319fca5ceaf3bd746767ca5e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Wed, 23 Feb 2011 09:43:18 +0000 Subject: [PATCH] --- .../java/com/mysema/util/ReflectionUtils.java | 14 ++++--- .../query/util/LimitingIteratorTest.java | 28 ++++++++++++++ .../com/mysema/query/util/MathUtilsTest.java | 31 +++++++++++++++ .../query/util/ReflectionUtilsTest.java | 38 +++++++++++++++++++ 4 files changed, 105 insertions(+), 6 deletions(-) create mode 100644 querydsl-core/src/test/java/com/mysema/query/util/LimitingIteratorTest.java create mode 100644 querydsl-core/src/test/java/com/mysema/query/util/MathUtilsTest.java create mode 100644 querydsl-core/src/test/java/com/mysema/query/util/ReflectionUtilsTest.java diff --git a/querydsl-core/src/main/java/com/mysema/util/ReflectionUtils.java b/querydsl-core/src/main/java/com/mysema/util/ReflectionUtils.java index 690daa82f..389178051 100644 --- a/querydsl-core/src/main/java/com/mysema/util/ReflectionUtils.java +++ b/querydsl-core/src/main/java/com/mysema/util/ReflectionUtils.java @@ -48,8 +48,10 @@ public final class ReflectionUtils { while (beanClass != null && !beanClass.equals(Object.class)){ try { return beanClass.getDeclaredField(propertyName); - } catch (SecurityException e) { // skip - } catch (NoSuchFieldException e) { // skip + } catch (SecurityException e) { + // skip + } catch (NoSuchFieldException e) { + // skip } beanClass = beanClass.getSuperclass(); } @@ -90,7 +92,7 @@ public final class ReflectionUtils { } return null; } - + public static Set> getImplementedInterfaces(Class cl){ Set> interfaces = new HashSet>(); Deque> classes = new ArrayDeque>(); @@ -99,11 +101,11 @@ public final class ReflectionUtils { Class c = classes.pop(); interfaces.addAll(Arrays.asList(c.getInterfaces())); if (c.getSuperclass() != null){ - classes.add(c.getSuperclass()); - } + classes.add(c.getSuperclass()); + } classes.addAll(Arrays.asList(c.getInterfaces())); } return interfaces; } - + } diff --git a/querydsl-core/src/test/java/com/mysema/query/util/LimitingIteratorTest.java b/querydsl-core/src/test/java/com/mysema/query/util/LimitingIteratorTest.java new file mode 100644 index 000000000..27f8b7b12 --- /dev/null +++ b/querydsl-core/src/test/java/com/mysema/query/util/LimitingIteratorTest.java @@ -0,0 +1,28 @@ +package com.mysema.query.util; + +import static org.junit.Assert.assertEquals; + +import java.util.Arrays; +import java.util.Iterator; + +import org.junit.Test; + +import com.mysema.commons.lang.IteratorAdapter; +import com.mysema.query.QueryModifiers; + + +public class LimitingIteratorTest { + + @Test + public void Limit(){ + LimitingIterator it = new LimitingIterator(Arrays.asList("1","2","3").iterator(), 2); + assertEquals(Arrays.asList("1","2"), IteratorAdapter.asList(it)); + } + + @Test + public void Offset(){ + Iterator it = LimitingIterator.create(Arrays.asList("1","2","3").iterator(), QueryModifiers.offset(1)); + assertEquals(Arrays.asList("2","3"), IteratorAdapter.asList(it)); + } + +} diff --git a/querydsl-core/src/test/java/com/mysema/query/util/MathUtilsTest.java b/querydsl-core/src/test/java/com/mysema/query/util/MathUtilsTest.java new file mode 100644 index 000000000..e93b6c935 --- /dev/null +++ b/querydsl-core/src/test/java/com/mysema/query/util/MathUtilsTest.java @@ -0,0 +1,31 @@ +package com.mysema.query.util; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import com.mysema.util.MathUtils; + +public class MathUtilsTest { + + @Test + public void Sum() { + assertEquals(Integer.valueOf(5), MathUtils.sum(2, 3.0)); + } + + @Test + public void Difference() { + assertEquals(Integer.valueOf(2), MathUtils.difference(5, 3.0)); + } + + @Test + public void Cast_Integer_To_Long() { + assertEquals(Long.valueOf(2), MathUtils.cast(2, Long.class)); + } + + @Test + public void Cast_Double_To_Long() { + assertEquals(Long.valueOf(3), MathUtils.cast(3.2, Long.class)); + } + +} diff --git a/querydsl-core/src/test/java/com/mysema/query/util/ReflectionUtilsTest.java b/querydsl-core/src/test/java/com/mysema/query/util/ReflectionUtilsTest.java new file mode 100644 index 000000000..67390abd2 --- /dev/null +++ b/querydsl-core/src/test/java/com/mysema/query/util/ReflectionUtilsTest.java @@ -0,0 +1,38 @@ +package com.mysema.query.util; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.Serializable; +import java.lang.reflect.AnnotatedElement; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import javax.annotation.Nullable; + +import org.junit.Test; + +import com.mysema.query.types.Expression; +import com.mysema.query.types.expr.SimpleExpression; +import com.mysema.util.ReflectionUtils; + +public class ReflectionUtilsTest { + + @Nullable + String property; + + @Test + public void GetAnnotatedElement() { + AnnotatedElement annotatedElement = ReflectionUtils.getAnnotatedElement(ReflectionUtilsTest.class, "property", String.class); + assertNotNull(annotatedElement.getAnnotation(Nullable.class)); + } + + @Test + @SuppressWarnings("unchecked") + public void GetImplementedInterfaces() { + Set> ifaces = ReflectionUtils.getImplementedInterfaces(SimpleExpression.class); + assertEquals(new HashSet>(Arrays.asList(Serializable.class, Expression.class)), ifaces); + } + +}