📄 basicdynabeantestcase.java
字号:
value = bean.get("intIndexed", i);
assertNotNull("intIndexed returned value " + i, value);
assertTrue("intIndexed returned Integer " + i,
value instanceof Integer);
assertEquals("intIndexed returned correct " + i, i * 10,
((Integer) value).intValue());
} catch (Throwable t) {
fail("intIndexed " + i + " threw " + t);
}
try {
value = bean.get("listIndexed", i);
assertNotNull("listIndexed returned value " + i, value);
assertTrue("list returned String " + i,
value instanceof String);
assertEquals("listIndexed returned correct " + i,
"String " + i, (String) value);
} catch (Throwable t) {
fail("listIndexed " + i + " threw " + t);
}
try {
value = bean.get("stringArray", i);
assertNotNull("stringArray returned value " + i, value);
assertTrue("stringArray returned String " + i,
value instanceof String);
assertEquals("stringArray returned correct " + i,
"String " + i, (String) value);
} catch (Throwable t) {
fail("stringArray " + i + " threw " + t);
}
try {
value = bean.get("stringIndexed", i);
assertNotNull("stringIndexed returned value " + i, value);
assertTrue("stringIndexed returned String " + i,
value instanceof String);
assertEquals("stringIndexed returned correct " + i,
"String " + i, (String) value);
} catch (Throwable t) {
fail("stringIndexed " + i + " threw " + t);
}
}
}
/**
* Corner cases on getMappedProperty invalid arguments.
*/
public void testGetMappedArguments() {
try {
Object value = bean.get("mappedProperty", "unknown");
assertNull("Should not return a value", value);
} catch (Throwable t) {
fail("Threw " + t + " instead of returning null");
}
}
/**
* Positive and negative tests on getMappedProperty valid arguments.
*/
public void testGetMappedValues() {
Object value = null;
try {
value = bean.get("mappedProperty", "First Key");
assertEquals("Can find first value", "First Value", value);
} catch (Throwable t) {
fail("Finding first value threw " + t);
}
try {
value = bean.get("mappedProperty", "Second Key");
assertEquals("Can find second value", "Second Value", value);
} catch (Throwable t) {
fail("Finding second value threw " + t);
}
try {
value = bean.get("mappedProperty", "Third Key");
assertNull("Can not find third value", value);
} catch (Throwable t) {
fail("Finding third value threw " + t);
}
}
/**
* Corner cases on getSimpleProperty invalid arguments.
*/
public void testGetSimpleArguments() {
try {
bean.get(null);
fail("Should throw IllegalArgumentException");
} catch (IllegalArgumentException e) {
// Expected response
} catch (Throwable t) {
fail("Threw " + t + " instead of IllegalArgumentException");
}
}
/**
* Test getSimpleProperty on a boolean property.
*/
public void testGetSimpleBoolean() {
try {
Object value = bean.get("booleanProperty");
assertNotNull("Got a value", value);
assertTrue("Got correct type", (value instanceof Boolean));
assertTrue("Got correct value",
((Boolean) value).booleanValue() == true);
} catch (Throwable e) {
fail("Exception: " + e);
}
}
/**
* Test getSimpleProperty on a double property.
*/
public void testGetSimpleDouble() {
try {
Object value = bean.get("doubleProperty");
assertNotNull("Got a value", value);
assertTrue("Got correct type", (value instanceof Double));
assertEquals("Got correct value",
((Double) value).doubleValue(),
321.0, 0.005);
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test getSimpleProperty on a float property.
*/
public void testGetSimpleFloat() {
try {
Object value = bean.get("floatProperty");
assertNotNull("Got a value", value);
assertTrue("Got correct type", (value instanceof Float));
assertEquals("Got correct value",
((Float) value).floatValue(),
(float) 123.0,
(float) 0.005);
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test getSimpleProperty on a int property.
*/
public void testGetSimpleInt() {
try {
Object value = bean.get("intProperty");
assertNotNull("Got a value", value);
assertTrue("Got correct type", (value instanceof Integer));
assertEquals("Got correct value",
((Integer) value).intValue(),
123);
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test getSimpleProperty on a long property.
*/
public void testGetSimpleLong() {
try {
Object value = bean.get("longProperty");
assertNotNull("Got a value", value);
assertTrue("Got correct type", (value instanceof Long));
assertEquals("Got correct value",
((Long) value).longValue(),
321);
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test getSimpleProperty on a short property.
*/
public void testGetSimpleShort() {
try {
Object value = bean.get("shortProperty");
assertNotNull("Got a value", value);
assertTrue("Got correct type", (value instanceof Short));
assertEquals("Got correct value",
((Short) value).shortValue(),
(short) 987);
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test getSimpleProperty on a String property.
*/
public void testGetSimpleString() {
try {
Object value = bean.get("stringProperty");
assertNotNull("Got a value", value);
assertTrue("Got correct type", (value instanceof String));
assertEquals("Got correct value",
(String) value,
"This is a string");
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test <code>contains()</code> method for mapped properties.
*/
public void testMappedContains() {
try {
assertTrue("Can see first key",
bean.contains("mappedProperty", "First Key"));
} catch (Throwable t) {
fail("Exception: " + t);
}
try {
assertTrue("Can not see unknown key",
!bean.contains("mappedProperty", "Unknown Key"));
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test <code>remove()</code> method for mapped properties.
*/
public void testMappedRemove() {
try {
assertTrue("Can see first key",
bean.contains("mappedProperty", "First Key"));
bean.remove("mappedProperty", "First Key");
assertTrue("Can not see first key",
!bean.contains("mappedProperty", "First Key"));
} catch (Throwable t) {
fail("Exception: " + t);
}
try {
assertTrue("Can not see unknown key",
!bean.contains("mappedProperty", "Unknown Key"));
bean.remove("mappedProperty", "Unknown Key");
assertTrue("Can not see unknown key",
!bean.contains("mappedProperty", "Unknown Key"));
} catch (Throwable t) {
fail("Exception: " + t);
}
}
/**
* Test serialization and deserialization.
*/
public void testSerialization() {
// Serialize the test bean
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(bean);
oos.flush();
oos.close();
} catch (Exception e) {
fail("Exception during serialization: " + e);
}
// Deserialize the test bean
try {
bean = null;
ByteArrayInputStream bais =
new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bais);
bean = (DynaBean) ois.readObject();
bais.close();
} catch (Exception e) {
fail("Exception during deserialization: " + e);
}
// Confirm property values
testGetDescriptorArguments();
testGetDescriptorBoolean();
testGetDescriptorDouble();
testGetDescriptorFloat();
testGetDescriptorInt();
testGetDescriptorLong();
testGetDescriptorSecond();
testGetDescriptorShort();
testGetDescriptorString();
testGetDescriptors();
testGetIndexedArguments();
testGetIndexedValues();
testGetMappedArguments();
testGetMappedValues();
testGetSimpleArguments();
testGetSimpleBoolean();
testGetSimpleDouble();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -