This commit is contained in:
Timo Westkämper 2011-02-23 09:43:18 +00:00
parent 1dbff02b63
commit 26e88f5ab6
4 changed files with 105 additions and 6 deletions

View File

@ -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<Class<?>> getImplementedInterfaces(Class<?> cl){
Set<Class<?>> interfaces = new HashSet<Class<?>>();
Deque<Class<?>> classes = new ArrayDeque<Class<?>>();
@ -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;
}
}

View File

@ -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<String> it = new LimitingIterator<String>(Arrays.asList("1","2","3").iterator(), 2);
assertEquals(Arrays.asList("1","2"), IteratorAdapter.asList(it));
}
@Test
public void Offset(){
Iterator<String> it = LimitingIterator.create(Arrays.asList("1","2","3").iterator(), QueryModifiers.offset(1));
assertEquals(Arrays.asList("2","3"), IteratorAdapter.asList(it));
}
}

View File

@ -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));
}
}

View File

@ -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<Class<?>> ifaces = ReflectionUtils.getImplementedInterfaces(SimpleExpression.class);
assertEquals(new HashSet<Class<?>>(Arrays.asList(Serializable.class, Expression.class)), ifaces);
}
}