You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2012/08/06 21:13:43 UTC

[1/2] git commit: WICKET-4696 MIN_VALUE of Double and Float is not minimum number

Updated Branches:
  refs/heads/wicket-1.5.x 8e78f13a2 -> 4d43ee9f7


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/4d43ee9f
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/4d43ee9f
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/4d43ee9f

Branch: refs/heads/wicket-1.5.x
Commit: 4d43ee9f72d565ab4691ee4a707e34955d03e8d7
Parents: c93a386
Author: svenmeier <sv...@apache.org>
Authored: Mon Aug 6 21:12:03 2012 +0200
Committer: svenmeier <sv...@apache.org>
Committed: Mon Aug 6 21:12:03 2012 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/util/lang/Numbers.java  |   14 ++++++------
 .../org/apache/wicket/util/lang/NumbersTest.java   |   17 ++++++++------
 2 files changed, 17 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/4d43ee9f/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 1f23cbf..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
@@ -37,9 +37,9 @@ public final class Numbers
 	 * Returns the minimum value for the numberType's type
 	 * 
 	 * @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
+	 *            the type of the number for which the minimum value will be returned
+	 * @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/4d43ee9f/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