View Javadoc

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