View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.util;
8   
9   import org.mule.tck.junit4.AbstractMuleTestCase;
10  
11  import java.util.HashMap;
12  
13  import org.junit.Test;
14  
15  import static org.junit.Assert.assertEquals;
16  import static org.junit.Assert.assertFalse;
17  import static org.junit.Assert.assertNotNull;
18  import static org.junit.Assert.assertTrue;
19  
20  public class ObjectUtilsTestCase extends AbstractMuleTestCase
21  {
22  
23      @Test
24      public void testIdentityToShortString()
25      {
26          assertEquals("null", ObjectUtils.identityToShortString(null));
27  
28          String source = "foo";
29          String description = ObjectUtils.identityToShortString(source);
30          String[] components = StringUtils.split(description, '@');
31  
32          assertNotNull(components);
33          assertEquals(2, components.length);
34          assertEquals("String", components[0]);
35          assertEquals(Integer.toHexString(System.identityHashCode(source)), components[1]);
36      }
37  
38      @Test
39      public void testBooleanConversion() throws Exception
40      {
41          Object value = "true";
42          assertTrue(ObjectUtils.getBoolean(value, false));
43  
44          value = "xyz";
45          assertFalse(ObjectUtils.getBoolean(value, false));
46  
47          value = new Integer(6);
48          assertTrue(ObjectUtils.getBoolean(value, false));
49  
50          value = new Integer(1);
51          assertTrue(ObjectUtils.getBoolean(value, false));
52  
53          value = new Integer(0);
54          assertFalse(ObjectUtils.getBoolean(value, false));
55  
56          value = new Integer(-41);
57          assertFalse(ObjectUtils.getBoolean(value, false));
58  
59          value = null;
60          assertFalse(ObjectUtils.getBoolean(value, false));
61      }
62  
63      @Test
64      public void testShortConversion() throws Exception
65      {
66          Object value = "123";
67          assertEquals((short) 123, ObjectUtils.getShort(value, (short) -1));
68  
69          value = "xyz";
70          assertEquals((short) -1, ObjectUtils.getShort(value, (short) -1));
71  
72          value = new Integer(6);
73          assertEquals((short) 6, ObjectUtils.getShort(value, (short) -1));
74  
75          value = new Double(63.4);
76          assertEquals((short) 63, ObjectUtils.getShort(value, (short) -1));
77  
78          value = new Float(-163.2);
79          assertEquals((short) -163, ObjectUtils.getShort(value, (short) -1));
80  
81          value = null;
82          assertEquals((short) -1, ObjectUtils.getShort(value, (short) -1));
83  
84      }
85  
86      @Test
87      public void testByteConversion() throws Exception
88      {
89          Object value = "123";
90          assertEquals((byte) 123, ObjectUtils.getByte(value, (byte) -1));
91  
92          value = "xyz";
93          assertEquals((byte) -1, ObjectUtils.getByte(value, (byte) -1));
94  
95          value = new Integer(6);
96          assertEquals((byte) 6, ObjectUtils.getByte(value, (byte) -1));
97  
98          value = new Double(63.4);
99          assertEquals((byte) 63, ObjectUtils.getByte(value, (byte) -1));
100 
101         value = new Float(-163.2);
102         assertEquals((byte) -163, ObjectUtils.getByte(value, (byte) -1));
103 
104         value = null;
105         assertEquals((byte) -1, ObjectUtils.getByte(value, (byte) -1));
106     }
107 
108     @Test
109     public void testIntConversion() throws Exception
110     {
111         Object value = "123";
112         assertEquals(123, ObjectUtils.getInt(value, -1));
113 
114         value = "xyz";
115         assertEquals(-1, ObjectUtils.getInt(value, -1));
116 
117         value = new Integer(6);
118         assertEquals(6, ObjectUtils.getInt(value, -1));
119 
120         value = new Double(63.4);
121         assertEquals(63, ObjectUtils.getInt(value, -1));
122 
123         value = new Float(-163.2);
124         assertEquals(-163, ObjectUtils.getInt(value, -1));
125 
126         value = null;
127         assertEquals(-1, ObjectUtils.getInt(value, -1));
128     }
129 
130     @Test
131     public void testLongConversion() throws Exception
132     {
133         Object value = "123";
134         assertEquals(123, ObjectUtils.getLong(value, -1l));
135 
136         value = "xyz";
137         assertEquals(-1, ObjectUtils.getLong(value, -1l));
138 
139         value = new Integer(6);
140         assertEquals(6, ObjectUtils.getLong(value, -1l));
141 
142         value = new Double(63.4);
143         assertEquals(63, ObjectUtils.getLong(value, -1l));
144 
145         value = new Float(-163.2);
146         assertEquals(-163, ObjectUtils.getLong(value, -1l));
147 
148         value = null;
149         assertEquals(-1, ObjectUtils.getLong(value, -1l));
150     }
151 
152     @Test
153     public void testFloatConversion() throws Exception
154     {
155         Object value = "123.34";
156         assertEquals(123.34, ObjectUtils.getFloat(value, -1f), 0.1f);
157 
158         value = "xyz";
159         assertEquals(-1, ObjectUtils.getFloat(value, -1f), 0.1f);
160 
161         value = new Integer(6);
162         assertEquals(6, ObjectUtils.getFloat(value, -1f), 0.1f);
163 
164         value = new Double(63.4);
165         assertEquals(63.4, ObjectUtils.getFloat(value, -1f), 0.1f);
166 
167         value = new Float(-163.2);
168         assertEquals(-163.2, ObjectUtils.getFloat(value, -1f), 0.1f);
169 
170         value = null;
171         assertEquals(-1, ObjectUtils.getFloat(value, -1f), 0.1f);
172     }
173 
174     @Test
175     public void testDoubleConversion() throws Exception
176     {
177         Object value = "123.34";
178         assertEquals(123.34, ObjectUtils.getDouble(value, -1.0), 0.1d);
179 
180         value = "xyz";
181         assertEquals(-1, ObjectUtils.getDouble(value, -1.0), 0.1d);
182 
183         value = new Integer(6);
184         assertEquals(6, ObjectUtils.getDouble(value, -1.0), 0.1d);
185 
186         value = new Double(63.4);
187         assertEquals(63.4, ObjectUtils.getDouble(value, -1.0), 0.1d);
188 
189         value = new Float(-163.2);
190         assertEquals(-163.2, ObjectUtils.getDouble(value, -1.0), 0.1d);
191 
192         value = null;
193         assertEquals(-1, ObjectUtils.getDouble(value, -1.0), 0.1d);
194     }
195 
196     @Test
197     public void testStringConversion() throws Exception
198     {
199         Object value = "hello";
200         assertEquals("hello", ObjectUtils.getString(value, "x"));
201 
202         value = new HashMap();
203         assertEquals(new HashMap().toString(), ObjectUtils.getString(value, "x"));
204 
205         value = null;
206         assertEquals("x", ObjectUtils.getString(value, "x"));
207     }
208 }