📄 beanmaptestcase.java
字号:
new Integer(223),
new Long(23341928234L),
new Double(23423.34),
new Float(213332.12f),
new Short((short)234),
new Byte((byte)20),
new Character('b'),
new Integer(232),
"SomeNewStringValue",
new Object(),
null,
};
return values;
}
/**
* Values is a dead copy in BeanMap, so refresh each time.
*/
public void verifyValues() {
values = map.values();
super.verifyValues();
}
/**
* The mappings in a BeanMap are fixed on the properties the underlying
* bean has. Adding and removing mappings is not possible, thus this
* method is overridden to return false.
*/
public boolean isPutAddSupported() {
return false;
}
/**
* The mappings in a BeanMap are fixed on the properties the underlying
* bean has. Adding and removing mappings is not possible, thus this
* method is overridden to return false.
*/
public boolean isRemoveSupported() {
return false;
}
public Map makeFullMap() {
// note: These values must match (i.e. .equals() must return true)
// those returned from getSampleValues().
BeanWithProperties bean = new BeanWithProperties();
bean.setSomeIntValue(1234);
bean.setSomeLongValue(1298341928234L);
bean.setSomeDoubleValue(123423.34);
bean.setSomeFloatValue(1213332.12f);
bean.setSomeShortValue((short)134);
bean.setSomeByteValue((byte)10);
bean.setSomeCharValue('a');
bean.setSomeIntegerValue(new Integer(1432));
bean.setSomeStringValue("SomeStringValue");
bean.setSomeObjectValue(objectInFullMap);
return new BeanMap(bean);
}
public Map makeEmptyMap() {
return new BeanMap();
}
public String[] ignoredTests() {
// Ignore the serialization tests on collection views.
return new String[] {
"TestBeanMap.bulkTestMapEntrySet.testCanonicalEmptyCollectionExists",
"TestBeanMap.bulkTestMapEntrySet.testCanonicalFullCollectionExists",
"TestBeanMap.bulkTestMapKeySet.testCanonicalEmptyCollectionExists",
"TestBeanMap.bulkTestMapKeySet.testCanonicalFullCollectionExists",
"TestBeanMap.bulkTestMapValues.testCanonicalEmptyCollectionExists",
"TestBeanMap.bulkTestMapValues.testCanonicalFullCollectionExists",
"TestBeanMap.bulkTestMapEntrySet.testSimpleSerialization",
"TestBeanMap.bulkTestMapKeySet.testSimpleSerialization",
"TestBeanMap.bulkTestMapEntrySet.testSerializeDeserializeThenCompare",
"TestBeanMap.bulkTestMapKeySet.testSerializeDeserializeThenCompare"
};
}
/**
* Need to override this method because the "clear()" method on the bean
* map just returns the bean properties to their default states. It does
* not actually remove the mappings as per the map contract. The default
* testClear() methods checks that the clear method throws an
* UnsupportedOperationException since this class is not add/remove
* modifiable. In our case though, we do not always throw that exception.
*/
public void testMapClear() {
//TODO: make sure a call to BeanMap.clear returns the bean to its
//default initialization values.
}
/**
* Need to override this method because the "put()" method on the bean
* doesn't work for this type of Map.
*/
public void testMapPut() {
// see testBeanMapPutAllWriteable
}
public void testBeanMapClone() {
BeanMap map = (BeanMap)makeFullMap();
try {
BeanMap map2 = (BeanMap)((BeanMap)map).clone();
// make sure containsKey is working to verify the bean was cloned
// ok, and the read methods were properly initialized
Object[] keys = getSampleKeys();
for(int i = 0; i < keys.length; i++) {
assertTrue("Cloned BeanMap should contain the same keys",
map2.containsKey(keys[i]));
}
} catch (CloneNotSupportedException exception) {
fail("BeanMap.clone() should not throw a " +
"CloneNotSupportedException when clone should succeed.");
}
}
public void testBeanMapPutAllWriteable() {
BeanMap map1 = (BeanMap)makeFullMap();
BeanMap map2 = (BeanMap)makeFullMap();
map2.put("someIntValue", new Integer(0));
map1.putAllWriteable(map2);
assertEquals(map1.get("someIntValue"), new Integer(0));
}
public void testMethodAccessor() throws Exception {
BeanMap map = (BeanMap) makeFullMap();
Method method = BeanWithProperties.class.getDeclaredMethod("getSomeIntegerValue", null);
assertEquals(method, map.getReadMethod("someIntegerValue"));
}
public void testMethodMutator() throws Exception {
BeanMap map = (BeanMap) makeFullMap();
Method method = BeanWithProperties.class.getDeclaredMethod("setSomeIntegerValue", new Class[] {Integer.class});
assertEquals(method, map.getWriteMethod("someIntegerValue"));
}
/**
* Test the default transformers using the getTypeTransformer() method
*/
public void testGetTypeTransformerMethod() {
BeanMap beanMap = new BeanMap();
assertEquals("Boolean.TYPE", Boolean.TRUE, beanMap.getTypeTransformer(Boolean.TYPE).transform("true"));
assertEquals("Character.TYPE", new Character('B'), beanMap.getTypeTransformer(Character.TYPE).transform("BCD"));
assertEquals("Byte.TYPE", new Byte((byte)1), beanMap.getTypeTransformer(Byte.TYPE).transform("1"));
assertEquals("Short.TYPE", new Short((short)2), beanMap.getTypeTransformer(Short.TYPE).transform("2"));
assertEquals("Integer.TYPE", new Integer(3), beanMap.getTypeTransformer(Integer.TYPE).transform("3"));
assertEquals("Long.TYPE", new Long(4), beanMap.getTypeTransformer(Long.TYPE).transform("4"));
assertEquals("Float.TYPE", new Float("5"), beanMap.getTypeTransformer(Float.TYPE).transform("5"));
assertEquals("Double.TYPE", new Double("6"), beanMap.getTypeTransformer(Double.TYPE).transform("6"));
}
/**
* Test the default transformers via the public static Map instance
*/
public void testGetDefaultTransformersMap() {
BeanMap beanMap = new BeanMap();
assertEquals("Boolean.TYPE", Boolean.TRUE, ((Transformer)BeanMap.defaultTransformers.get(Boolean.TYPE)).transform("true"));
assertEquals("Character.TYPE", new Character('B'), ((Transformer)BeanMap.defaultTransformers.get(Character.TYPE)).transform("BCD"));
assertEquals("Byte.TYPE", new Byte((byte)1), ((Transformer)BeanMap.defaultTransformers.get(Byte.TYPE)).transform("1"));
assertEquals("Short.TYPE", new Short((short)2), ((Transformer)BeanMap.defaultTransformers.get(Short.TYPE)).transform("2"));
assertEquals("Integer.TYPE", new Integer(3), ((Transformer)BeanMap.defaultTransformers.get(Integer.TYPE)).transform("3"));
assertEquals("Long.TYPE", new Long(4), ((Transformer)BeanMap.defaultTransformers.get(Long.TYPE)).transform("4"));
assertEquals("Float.TYPE", new Float("5"), ((Transformer)BeanMap.defaultTransformers.get(Float.TYPE)).transform("5"));
assertEquals("Double.TYPE", new Double("6"), ((Transformer)BeanMap.defaultTransformers.get(Double.TYPE)).transform("6"));
}
/**
* Test the default transformers HashMap
*/
public void testDefaultTransformersMap() {
assertEquals("Size", 8, BeanMap.defaultTransformers.size());
assertEquals("entrySet", 8, BeanMap.defaultTransformers.entrySet().size());
assertEquals("keySet", 8, BeanMap.defaultTransformers.keySet().size());
assertEquals("values", 8, BeanMap.defaultTransformers.values().size());
assertFalse("isEmpty", BeanMap.defaultTransformers.isEmpty());
assertTrue("containsKey(Double)", BeanMap.defaultTransformers.containsKey(Double.TYPE));
assertFalse("containsKey(Object)", BeanMap.defaultTransformers.containsKey(Object.class));
assertTrue("containsValue(double)", BeanMap.defaultTransformers.containsValue(BeanMap.defaultTransformers.get(Double.TYPE)));
assertFalse("containsValue(Object)", BeanMap.defaultTransformers.containsValue(Object.class));
try {
BeanMap.defaultTransformers.clear();
fail("clear() - expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected result
}
try {
BeanMap.defaultTransformers.put("FOO", null);
fail("put() - expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected result
}
try {
BeanMap.defaultTransformers.putAll(new HashMap());
fail("putAll() - expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected result
}
try {
BeanMap.defaultTransformers.remove("FOO");
fail("remove() - expected UnsupportedOperationException");
} catch(UnsupportedOperationException e) {
// expected result
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -