public String toString() {
return "TestIndependenceThread";
}
}
PrimitiveBean bean = new PrimitiveBean();
LocaleBeanUtils.setProperty(bean, "int", new Integer(1));
assertEquals("Wrong property value (1)", 1, bean.getInt());
LocaleConvertUtils.register(new LocaleConverter() {
public <T> T convert(Class<T> type, Object value) {
return ConvertUtils.primitiveToWrapper(type).cast(5);
}
public <T> T convert(Class<T> type, Object value, String pattern) {
return ConvertUtils.primitiveToWrapper(type).cast(5);
}
}, Integer.TYPE, Locale.getDefault());
LocaleBeanUtils.setProperty(bean, "int", "1");
assertEquals("Wrong property value(2)", 5, bean.getInt());
Signal signal = new Signal();
signal.setSignal(1);
TestIndependenceThread thread = new TestIndependenceThread(signal, bean);
thread.setContextClassLoader(new TestClassLoader());
thread.start();
thread.join();
assertNull("Exception thrown by test thread:" + signal.getException(), signal.getException());
assertEquals("Signal not set by test thread", 3, signal.getSignal());
assertEquals("Wrong property value(3)", 9, bean.getInt());
}