#351 Fix NumberConversion behaviour

This commit is contained in:
Timo Westkämper 2013-03-04 17:12:29 +02:00
parent 82e4cfd366
commit 84f73da185
2 changed files with 19 additions and 1 deletions

View File

@ -53,7 +53,11 @@ public class NumberConversion<T> extends ExpressionBase<T> implements FactoryExp
@Override
public T newInstance(Object... args) {
return (T)MathUtils.cast((Number)args[0], (Class)getType());
if (args[0] != null) {
return (T)MathUtils.cast((Number)args[0], (Class)getType());
} else {
return null;
}
}
}

View File

@ -975,6 +975,20 @@ public abstract class AbstractStandardTest {
query().from(cat).uniqueResult(cat.bodyWeight.sum().negate());
}
@Test
public void Sum_NoRows_Double() {
query().from(cat)
.where(cat.name.eq(UUID.randomUUID().toString()))
.uniqueResult(cat.bodyWeight.sum());
}
@Test
public void Sum_NoRows_Float() {
query().from(cat)
.where(cat.name.eq(UUID.randomUUID().toString()))
.uniqueResult(cat.floatProperty.sum());
}
@Test
public void Sum_as_Float() {
float val = query().from(cat).uniqueResult(cat.floatProperty.sum());