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