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