Updated Branches: refs/heads/master 772122a6d -> f5f802c56
WICKET-4696 MIN_VALUE of Double and Float is not minimum number Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f5f802c5 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f5f802c5 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f5f802c5 Branch: refs/heads/master Commit: f5f802c56388eef5a7336ce00961e0f895f418db Parents: a3cfb91 Author: svenmeier <[email protected]> Authored: Sun Aug 5 23:16:17 2012 +0200 Committer: svenmeier <[email protected]> Committed: Sun Aug 5 23:16:17 2012 +0200 ---------------------------------------------------------------------- .../java/org/apache/wicket/util/lang/Numbers.java | 12 +++++----- .../org/apache/wicket/util/lang/NumbersTest.java | 17 ++++++++------ 2 files changed, 16 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/f5f802c5/wicket-util/src/main/java/org/apache/wicket/util/lang/Numbers.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/lang/Numbers.java b/wicket-util/src/main/java/org/apache/wicket/util/lang/Numbers.java index f4e7858..260d8d1 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/lang/Numbers.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/lang/Numbers.java @@ -38,8 +38,8 @@ public final class Numbers * * @param numberType * the type of the number for which the minimum value will be returned - * @return the minimum value of the numberType or {@value Double#MIN_VALUE} if the numberType - * itself is either {@code null} or has no minimum value + * @return the minimum value of the numberType or Double if the numberType itself is either + * {@code null} or has no minimum value */ public static Number getMinValue(Class<? extends Number> numberType) { @@ -54,11 +54,11 @@ public final class Numbers } else if (Float.class == numberType || float.class == numberType) { - result = Float.MIN_VALUE; + result = -Float.MAX_VALUE; } else if (Double.class == numberType || double.class == numberType) { - result = Double.MIN_VALUE; + result = -Double.MAX_VALUE; } else if (Byte.class == numberType || byte.class == numberType) { @@ -70,8 +70,8 @@ public final class Numbers } else { // null of any other Number - LOG.debug("'{}' has no minimum value. Falling back to Double.MIN_VALUE.", numberType); - result = Double.MIN_VALUE; + LOG.debug("'{}' has no minimum value. Falling back to Double.", numberType); + result = -Double.MAX_VALUE; } return result; http://git-wip-us.apache.org/repos/asf/wicket/blob/f5f802c5/wicket-util/src/test/java/org/apache/wicket/util/lang/NumbersTest.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/test/java/org/apache/wicket/util/lang/NumbersTest.java b/wicket-util/src/test/java/org/apache/wicket/util/lang/NumbersTest.java index da9735b..14ec700 100644 --- a/wicket-util/src/test/java/org/apache/wicket/util/lang/NumbersTest.java +++ b/wicket-util/src/test/java/org/apache/wicket/util/lang/NumbersTest.java @@ -27,6 +27,9 @@ import org.junit.Test; */ public class NumbersTest extends Assert { + /** + * See WICKET-4696 for Float and Double minimum value + */ @Test public void getMinValue() { @@ -34,17 +37,17 @@ public class NumbersTest extends Assert assertEquals(Integer.MIN_VALUE, Numbers.getMinValue(int.class)); assertEquals(Long.MIN_VALUE, Numbers.getMinValue(Long.class)); assertEquals(Long.MIN_VALUE, Numbers.getMinValue(long.class)); - assertEquals(Float.MIN_VALUE, Numbers.getMinValue(Float.class)); - assertEquals(Float.MIN_VALUE, Numbers.getMinValue(float.class)); - assertEquals(Double.MIN_VALUE, Numbers.getMinValue(Double.class)); - assertEquals(Double.MIN_VALUE, Numbers.getMinValue(double.class)); + assertEquals(-Float.MAX_VALUE, Numbers.getMinValue(Float.class)); + assertEquals(-Float.MAX_VALUE, Numbers.getMinValue(float.class)); + assertEquals(-Double.MAX_VALUE, Numbers.getMinValue(Double.class)); + assertEquals(-Double.MAX_VALUE, Numbers.getMinValue(double.class)); assertEquals(Byte.MIN_VALUE, Numbers.getMinValue(Byte.class)); assertEquals(Byte.MIN_VALUE, Numbers.getMinValue(byte.class)); assertEquals(Short.MIN_VALUE, Numbers.getMinValue(Short.class)); assertEquals(Short.MIN_VALUE, Numbers.getMinValue(short.class)); - assertEquals(Double.MIN_VALUE, Numbers.getMinValue(BigDecimal.class)); - assertEquals(Double.MIN_VALUE, Numbers.getMinValue(BigInteger.class)); - assertEquals(Double.MIN_VALUE, Numbers.getMinValue(null)); + assertEquals(-Double.MAX_VALUE, Numbers.getMinValue(BigDecimal.class)); + assertEquals(-Double.MAX_VALUE, Numbers.getMinValue(BigInteger.class)); + assertEquals(-Double.MAX_VALUE, Numbers.getMinValue(null)); } @Test
