You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2014/07/15 17:20:11 UTC

[2/3] git commit: add unit tests to testCoerceStringToPrimitive

add unit tests to testCoerceStringToPrimitive


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/ab9de806
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/ab9de806
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/ab9de806

Branch: refs/heads/master
Commit: ab9de806b3d51a22c83ec4946804e44d6a8ef8f5
Parents: de6fbd3
Author: Andrea Turli <an...@gmail.com>
Authored: Mon Jul 14 13:30:00 2014 +0200
Committer: Andrea Turli <an...@gmail.com>
Committed: Mon Jul 14 13:30:00 2014 +0200

----------------------------------------------------------------------
 .../main/java/brooklyn/util/flags/TypeCoercions.java  |  3 +--
 .../brooklyn/util/internal/TypeCoercionsTest.java     | 14 ++++++++------
 2 files changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ab9de806/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/flags/TypeCoercions.java b/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
index 3036654..e25f1b7 100644
--- a/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
+++ b/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
@@ -325,7 +325,6 @@ public class TypeCoercions {
     @SuppressWarnings("unchecked")
     public static <T> T stringToPrimitive(String value, Class<T> targetType) {
         assert Primitives.allPrimitiveTypes().contains(targetType) || Primitives.allWrapperTypes().contains(targetType) : "targetType="+targetType;
-        value = value.trim();
         // If char, then need to do explicit conversion
         if (targetType == Character.class || targetType == char.class) {
             if (value.length() == 1) {
@@ -334,7 +333,7 @@ public class TypeCoercions {
                 throw new ClassCoercionException("Cannot coerce type String to "+targetType.getCanonicalName()+" ("+value+"): adapting failed");
             }
         }
-
+        value = value.trim();
         // For boolean we could use valueOf, but that returns false whereas we'd rather throw errors on bad values
         if (targetType == Boolean.class || targetType == boolean.class) {
             if ("true".equalsIgnoreCase(value)) return (T) Boolean.TRUE;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ab9de806/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java b/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
index e6aee19..05b4c72 100644
--- a/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
+++ b/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
@@ -32,17 +32,17 @@ import org.slf4j.LoggerFactory;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
-import brooklyn.entity.basic.Lifecycle;
-import brooklyn.util.flags.ClassCoercionException;
-import brooklyn.util.flags.TypeCoercions;
-import brooklyn.util.text.StringPredicates;
-
 import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.reflect.TypeToken;
 
+import brooklyn.entity.basic.Lifecycle;
+import brooklyn.util.flags.ClassCoercionException;
+import brooklyn.util.flags.TypeCoercions;
+import brooklyn.util.text.StringPredicates;
+
 public class TypeCoercionsTest {
 
     private static final Logger log = LoggerFactory.getLogger(TypeCoercionsTest.class);
@@ -56,6 +56,7 @@ public class TypeCoercionsTest {
     @Test
     public void testCoerceStringToPrimitive() {
         assertEquals(TypeCoercions.coerce("1", Character.class), (Character)'1');
+        assertEquals(TypeCoercions.coerce(" ", Character.class), (Character)' ');
         assertEquals(TypeCoercions.coerce("1", Short.class), (Short)((short)1));
         assertEquals(TypeCoercions.coerce("1", Integer.class), (Integer)1);
         assertEquals(TypeCoercions.coerce("1", Long.class), (Long)1l);
@@ -63,7 +64,8 @@ public class TypeCoercionsTest {
         assertEquals(TypeCoercions.coerce("1", Double.class), (Double)1d);
         assertEquals(TypeCoercions.coerce("true", Boolean.class), (Boolean)true);
         assertEquals(TypeCoercions.coerce("False", Boolean.class), (Boolean)false);
-        
+        assertEquals(TypeCoercions.coerce("true ", Boolean.class), (Boolean)true);
+
         assertEquals(TypeCoercions.coerce("1", char.class), (Character)'1');
         assertEquals(TypeCoercions.coerce("1", short.class), (Short)((short)1));
         assertEquals(TypeCoercions.coerce("1", int.class), (Integer)1);