1
2
3
4
5
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 }