📄 convertutilstestcase.java
字号:
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("yes", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("y", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("y", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("on", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("on", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), true);
value = ConvertUtils.convert("false", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("false", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("no", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("no", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("n", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("n", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("off", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("off", Boolean.class);
assertTrue(value instanceof Boolean);
assertEquals(((Boolean) value).booleanValue(), false);
value = ConvertUtils.convert("123", Byte.TYPE);
assertTrue(value instanceof Byte);
assertEquals(((Byte) value).byteValue(), (byte) 123);
value = ConvertUtils.convert("123", Byte.class);
assertTrue(value instanceof Byte);
assertEquals(((Byte) value).byteValue(), (byte) 123);
value = ConvertUtils.convert("a", Character.TYPE);
assertTrue(value instanceof Character);
assertEquals(((Character) value).charValue(), 'a');
value = ConvertUtils.convert("a", Character.class);
assertTrue(value instanceof Character);
assertEquals(((Character) value).charValue(), 'a');
value = ConvertUtils.convert("java.lang.String", Class.class);
assertTrue(value instanceof Class);
assertEquals(String.class, value);
value = ConvertUtils.convert("123.456", Double.TYPE);
assertTrue(value instanceof Double);
assertEquals(((Double) value).doubleValue(), 123.456, 0.005);
value = ConvertUtils.convert("123.456", Double.class);
assertTrue(value instanceof Double);
assertEquals(((Double) value).doubleValue(), 123.456, 0.005);
value = ConvertUtils.convert("123.456", Float.TYPE);
assertTrue(value instanceof Float);
assertEquals(((Float) value).floatValue(), (float) 123.456,
(float) 0.005);
value = ConvertUtils.convert("123.456", Float.class);
assertTrue(value instanceof Float);
assertEquals(((Float) value).floatValue(), (float) 123.456,
(float) 0.005);
value = ConvertUtils.convert("123", Integer.TYPE);
assertTrue(value instanceof Integer);
assertEquals(((Integer) value).intValue(), 123);
value = ConvertUtils.convert("123", Integer.class);
assertTrue(value instanceof Integer);
assertEquals(((Integer) value).intValue(), 123);
value = ConvertUtils.convert("123", Long.TYPE);
assertTrue(value instanceof Long);
assertEquals(((Long) value).longValue(), 123);
value = ConvertUtils.convert("123", Long.class);
assertTrue(value instanceof Long);
assertEquals(((Long) value).longValue(), 123);
value = ConvertUtils.convert("123", Short.TYPE);
assertTrue(value instanceof Short);
assertEquals(((Short) value).shortValue(), (short) 123);
value = ConvertUtils.convert("123", Short.class);
assertTrue(value instanceof Short);
assertEquals(((Short) value).shortValue(), (short) 123);
String input = null;
input = "2002-03-17";
value = ConvertUtils.convert(input, Date.class);
assertTrue(value instanceof Date);
assertEquals(input, value.toString());
input = "20:30:40";
value = ConvertUtils.convert(input, Time.class);
assertTrue(value instanceof Time);
assertEquals(input, value.toString());
input = "2002-03-17 20:30:40.0";
value = ConvertUtils.convert(input, Timestamp.class);
assertTrue(value instanceof Timestamp);
assertEquals(input, value.toString());
}
/**
* Positive String to String array tests.
*/
public void testPositiveStringArray() {
Object value = null;
String stringArray[] = new String[0];
String stringArray1[] = new String[]
{ "abc" };
String stringArray2[] = new String[]
{ "abc", "de,f" };
value = ConvertUtils.convert("", stringArray.getClass());
checkStringArray(value, stringArray);
value = ConvertUtils.convert(" ", stringArray.getClass());
checkStringArray(value, stringArray);
value = ConvertUtils.convert("{}", stringArray.getClass());
checkStringArray(value, stringArray);
value = ConvertUtils.convert("{ }", stringArray.getClass());
checkStringArray(value, stringArray);
value = ConvertUtils.convert("abc", stringArray.getClass());
checkStringArray(value, stringArray1);
value = ConvertUtils.convert("{abc}", stringArray.getClass());
checkStringArray(value, stringArray1);
value = ConvertUtils.convert("\"abc\"", stringArray.getClass());
checkStringArray(value, stringArray1);
value = ConvertUtils.convert("{\"abc\"}", stringArray.getClass());
checkStringArray(value, stringArray1);
value = ConvertUtils.convert("'abc'", stringArray.getClass());
checkStringArray(value, stringArray1);
value = ConvertUtils.convert("{'abc'}", stringArray.getClass());
checkStringArray(value, stringArray1);
value = ConvertUtils.convert("abc 'de,f'",
stringArray.getClass());
checkStringArray(value, stringArray2);
value = ConvertUtils.convert("{abc, 'de,f'}",
stringArray.getClass());
checkStringArray(value, stringArray2);
value = ConvertUtils.convert("\"abc\",\"de,f\"",
stringArray.getClass());
checkStringArray(value, stringArray2);
value = ConvertUtils.convert("{\"abc\" 'de,f'}",
stringArray.getClass());
checkStringArray(value, stringArray2);
value = ConvertUtils.convert("'abc' 'de,f'",
stringArray.getClass());
checkStringArray(value, stringArray2);
value = ConvertUtils.convert("{'abc', \"de,f\"}",
stringArray.getClass());
checkStringArray(value, stringArray2);
}
public void testSeparateConvertInstances() throws Exception {
ConvertUtilsBean utilsOne = new ConvertUtilsBean();
ConvertUtilsBean utilsTwo = new ConvertUtilsBean();
// make sure that the test work ok before anything's changed
Object
value = utilsOne.convert("true", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(
"Standard conversion failed (1)",
((Boolean) value).booleanValue(),
true);
value = utilsTwo.convert("true", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(
"Standard conversion failed (2)",
((Boolean) value).booleanValue(),
true);
// now register a test
utilsOne.register(new ThrowExceptionConverter(), Boolean.TYPE);
try {
utilsOne.convert("true", Boolean.TYPE);
fail("Register converter failed.");
} catch (PassTestException e) { /* This shows that the registration has worked */ }
try {
// nothing should have changed
value = utilsTwo.convert("true", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(
"Standard conversion failed (3)",
((Boolean) value).booleanValue(),
true);
} catch (PassTestException e) {
// This is a failure since utilsTwo should still have
// standard converters registered
fail("Registering a converter for an instance should not effect another instance.");
}
// nothing we'll test deregister
utilsOne.deregister();
value = utilsOne.convert("true", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals("Instance deregister failed.", ((Boolean) value).booleanValue(), true);
value = utilsTwo.convert("true", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(
"Standard conversion failed (4)",
((Boolean) value).booleanValue(),
true);
}
public void testDeregisteringSingleConverter() throws Exception {
// make sure that the test work ok before anything's changed
Object
value = ConvertUtils.convert("true", Boolean.TYPE);
assertTrue(value instanceof Boolean);
assertEquals(
"Standard conversion failed (1)",
((Boolean) value).booleanValue(),
true);
// we'll test deregister
ConvertUtils.deregister(Boolean.TYPE);
assertNull("Converter should be null",ConvertUtils.lookup(Boolean.TYPE));
}
public void testConvertToString() throws Exception {
Converter dummyConverter = new Converter() {
public Object convert(Class type, Object value) {
return value;
}
};
Converter fooConverter = new Converter() {
public Object convert(Class type, Object value) {
return "Foo-Converter";
}
};
DateConverter dateConverter = new DateConverter();
dateConverter.setLocale(Locale.US);
ConvertUtilsBean utils = new ConvertUtilsBean();
utils.register(dateConverter, java.util.Date.class);
utils.register(fooConverter, String.class);
// Convert using registerd DateConverter
java.util.Date today = new java.util.Date();
DateFormat fmt = new SimpleDateFormat("M/d/yy"); /* US Short Format */
String expected = fmt.format(today);
assertEquals("DateConverter M/d/yy", expected, utils.convert(today, String.class));
// Date converter doesn't do String conversion - use String Converter
utils.register(dummyConverter, java.util.Date.class);
assertEquals("Date Converter doesn't do String conversion", "Foo-Converter", utils.convert(today, String.class));
// No registered Date converter - use String Converter
utils.deregister(java.util.Date.class);
assertEquals("No registered Date converter", "Foo-Converter", utils.convert(today, String.class));
// String Converter doesn't do Strings!!!
utils.register(dummyConverter, String.class);
assertEquals("String Converter doesn't do Strings!!!", today.toString(), utils.convert(today, String.class));
// No registered Date or String converter - use Object's toString()
utils.deregister(String.class);
assertEquals("Object's toString()", today.toString(), utils.convert(today, String.class));
}
// -------------------------------------------------------- Private Methods
private void checkIntegerArray(Object value, int intArray[]) {
assertNotNull("Returned value is not null", value);
assertEquals("Returned value is int[]",
intArray.getClass(), value.getClass());
int results[] = (int[]) value;
assertEquals("Returned array length", intArray.length, results.length);
for (int i = 0; i < intArray.length; i++) {
assertEquals("Returned array value " + i,
intArray[i], results[i]);
}
}
private void checkStringArray(Object value, String stringArray[]) {
assertNotNull("Returned value is not null", value);
assertEquals("Returned value is String[]",
stringArray.getClass(), value.getClass());
String results[] = (String[]) value;
assertEquals("Returned array length",
stringArray.length, results.length);
for (int i = 0; i < stringArray.length; i++) {
assertEquals("Returned array value " + i,
stringArray[i], results[i]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -