📄 lazydynalisttestcase.java
字号:
((DynaBean)collection.get(0)).set(testProperty, origValue+"_updated_"+0);
((DynaBean)collection.get(1)).set(testProperty, origValue+"_updated_"+1);
((DynaBean)collection.get(2)).set(testProperty, origValue+"_updated_"+2);
// Test Insert - addAll(index, Collection)
list.addAll(1, collection);
dynaArray = list.toDynaBeanArray();
// Check array after insert
dynaArray = list.toDynaBeanArray();
assertEquals("11. Array Size Wrong", expectedSize, dynaArray.length);
// Check Beans have inserted correctly - by checking the property values
assertEquals("12. Wrong Value", "orig_pos0", dynaArray[0].get(testProperty));
assertEquals("13. Wrong Value", origValue+"_updated_"+0, dynaArray[1].get(testProperty));
assertEquals("14. Wrong Value", origValue+"_updated_"+1, dynaArray[2].get(testProperty));
assertEquals("15. Wrong Value", origValue+"_updated_"+2, dynaArray[3].get(testProperty));
assertEquals("16. Wrong Value", "orig_pos1", dynaArray[4].get(testProperty));
// Test Insert - add(index, Object)
try {
DynaBean extraElement = (DynaBean)testDynaClass.newInstance();
extraElement.set(testProperty, "extraOne");
list.add(2, extraElement);
dynaArray = list.toDynaBeanArray();
assertEquals("17. Wrong Value", origValue+"_updated_"+0, dynaArray[1].get(testProperty));
assertEquals("18. Wrong Value", "extraOne", dynaArray[2].get(testProperty));
assertEquals("19. Wrong Value", origValue+"_updated_"+1, dynaArray[3].get(testProperty));
} catch(Exception ex) {
fail("2. FAILED: " + ex);
}
}
/**
* Test Map Create
*/
private String findStringProperty(DynaClass dynaClass) {
DynaProperty[] properties = dynaClass.getDynaProperties();
for (int i = 0; i < properties.length; i++) {
if (properties[i].getType() == String.class) {
return properties[i].getName();
}
}
return null;
}
/**
* Test Map Create
*/
private void mapTest(LazyDynaList list, Class testClass, Object wrongBean) {
// Test get(index) created correct DynaBean - First
Object dynaBean = list.get(0);
assertNotNull("1. DynaBean Not Created", dynaBean);
assertEquals("2. Not LazyDynaMap", LazyDynaMap.class, dynaBean.getClass());
// Test get(index) created correct Map - First
Object map = ((LazyDynaMap)dynaBean).getMap();
assertNotNull("3. Map Not Created", map);
assertEquals("4. Wrong Map", testClass, map.getClass());
// Test toArray() creates correct Array - First
Object array = list.toArray();
assertNotNull("5. Array Not Created", array);
assertEquals("6. Not Map[]", testClass, array.getClass().getComponentType());
Map[] mapArray = (Map[])array;
assertEquals("7. Array Size Wrong", 1, mapArray.length);
// Test get(index) created correct DynaBean - Third
dynaBean = list.get(2);
assertNotNull("8. DynaBean Not Created", dynaBean);
assertEquals("9. Not LazyDynaMap", LazyDynaMap.class, dynaBean.getClass());
// Test get(index) created correct Map - Third
map = ((LazyDynaMap)dynaBean).getMap();
assertNotNull("10. Map Not Created", map);
assertEquals("11. Wrong Map", testClass, map.getClass());
// Test toArray() creates correct Array - Third
array = list.toArray();
assertNotNull("12. Array Not Created", array);
assertEquals("13. Not Map[]", testClass, array.getClass().getComponentType());
mapArray = (Map[])array;
assertEquals("14. Array Size Wrong", 3, mapArray.length);
// Test fail if different type added
try {
list.add(2, wrongBean);
fail("Expected IllegalArgumentException");
} catch(IllegalArgumentException ignore) {
// expected result
}
}
/**
* Test Pojo Create
*/
private void pojoTest(LazyDynaList list, Class testClass, Object wrongBean) {
// Test get(index) created correct DynaBean - First
Object dynaBean = list.get(0);
assertNotNull("1. DynaBean Not Created", dynaBean);
assertEquals("2. Not WrapDynaBean", WrapDynaBean.class, dynaBean.getClass());
// Test get(index) created correct POJO - First
Object pojoBean = ((WrapDynaBean)dynaBean).getInstance();
assertNotNull("3. POJO Not Created", pojoBean);
assertEquals("4. Not WrapDynaBean", testClass, pojoBean.getClass());
// Test toArray() creates correct Array - First
Object array = list.toArray();
assertNotNull("5. Array Not Created", array);
assertEquals("6. Wrong array", testClass, array.getClass().getComponentType());
Object[] pojoArray = (Object[])array;
assertEquals("7. Array Size Wrong", 1, pojoArray.length);
// Test get(index) created correct DynaBean - Second
dynaBean = list.get(1);
assertNotNull("8. DynaBean Not Created", dynaBean);
assertEquals("9. Not WrapDynaBean", WrapDynaBean.class, dynaBean.getClass());
// Test get(index) created correct POJO - Second
pojoBean = ((WrapDynaBean)dynaBean).getInstance();
assertNotNull("10. POJO Not Created", pojoBean);
assertEquals("11. Not WrapDynaBean", testClass, pojoBean.getClass());
// Test toArray() creates correct Array - Second
array = list.toArray();
assertNotNull("12. Array Not Created", array);
assertEquals("13. Wrong array", testClass, array.getClass().getComponentType());
pojoArray = (Object[])array;
assertEquals("14. Array Size Wrong", 2, pojoArray.length);
// Test fail if different type added
try {
list.add(2, wrongBean);
fail("Expected IllegalArgumentException");
} catch(IllegalArgumentException ignore) {
// expected result
}
}
/**
* Test DynaBean serialization.
*/
public void testSerializationDynaBean() {
// Create LazyArrayList for DynaBeans
LazyDynaList target = new LazyDynaList(basicDynaClass);
BasicDynaBean bean = (BasicDynaBean)target.get(0);
// Set a Property
assertNull("pre-set check", bean.get(BASIC_PROP1));
bean.set(BASIC_PROP1, "value1");
assertEquals("post-set check", "value1", bean.get(BASIC_PROP1));
// Serialize/Deserialize
LazyDynaList result = (LazyDynaList)serializeDeserialize(target, "DynaBean");
target = null;
bean = null;
// Confirm property value
bean = (BasicDynaBean)result.get(0);
assertEquals("post-serialize check", "value1", bean.get(BASIC_PROP1));
}
/**
* Test DynaBean serialization.
*/
public void testSerializationLazyDynaBean() {
// Create LazyArrayList for DynaBeans
LazyDynaList target = new LazyDynaList();
LazyDynaBean bean = (LazyDynaBean)target.get(0);
// Set a Property
assertNull("pre-set check", bean.get(BASIC_PROP1));
bean.set(BASIC_PROP1, "value1");
assertEquals("post-set check", "value1", bean.get(BASIC_PROP1));
// Serialize/Deserialize
LazyDynaList result = (LazyDynaList)serializeDeserialize(target, "DynaBean");
target = null;
bean = null;
// Confirm property value
bean = (LazyDynaBean)result.get(0);
assertEquals("post-serialize check", "value1", bean.get(BASIC_PROP1));
}
/**
* Test Map serialization.
*/
public void testSerializationMap() {
// Create LazyArrayList for DynaBeans
LazyDynaList target = new LazyDynaList(treeMapDynaClass);
LazyDynaMap bean = (LazyDynaMap)target.get(0);
// Set a Property
assertNull("pre-set check", bean.get(BASIC_PROP1));
bean.set(BASIC_PROP1, "value1");
assertEquals("post-set check", "value1", bean.get(BASIC_PROP1));
// Serialize/Deserialize
LazyDynaList result = (LazyDynaList)serializeDeserialize(target, "Map");
target = null;
bean = null;
// Confirm property value
bean = (LazyDynaMap)result.get(0);
assertEquals("post-serialize check", "value1", bean.get(BASIC_PROP1));
}
/**
* Test POJO (WrapDynaBean) serialization.
*/
public void testSerializationPojo() {
// Create LazyArrayList for DynaBeans
LazyDynaList target = new LazyDynaList(pojoDynaClass);
WrapDynaBean bean = (WrapDynaBean)target.get(0);
// Set a Property
assertEquals("pre-set check", "This is a string", bean.get("stringProperty"));
bean.set("stringProperty", "value1");
assertEquals("post-set check", "value1", bean.get("stringProperty"));
// Serialize/Deserialize
LazyDynaList result = (LazyDynaList)serializeDeserialize(target, "POJO");
target = null;
bean = null;
// Confirm property value
bean = (WrapDynaBean)result.get(0);
assertEquals("post-serialize check", "value1", bean.get("stringProperty"));
}
/**
* Do serialization and deserialization.
*/
private Object serializeDeserialize(Object target, String text) {
// Serialize the test object
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(target);
oos.flush();
oos.close();
} catch (Exception e) {
fail(text + ": Exception during serialization: " + e);
}
// Deserialize the test object
Object result = null;
try {
ByteArrayInputStream bais =
new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bais);
result = ois.readObject();
bais.close();
} catch (Exception e) {
fail(text + ": Exception during deserialization: " + e);
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -