📄 mappertest.java
字号:
assertEquals("c", ((TestReferenceFoo) tro.getArrayToArrayNoncumulative()[0]).getC());
// cumulative
toClone.setArrayToArrayCumulative(new Object[] { foo1, foo1 });
toClone.setCars(new Car[] { car, car });
Van van = new Van();
van.setName("myName");
toClone.getVehicles().add(van);
// cumulative
toClone.getListToArray().add("string1");
toClone.getListToArray().add("string2");
int[] paClone = { 1, 2, 3, 1, 2, 3 };
toClone.setPrimitiveArray(paClone);
Integer[] integerArrayClone = { new Integer(1), new Integer(2), new Integer(1), new Integer(2) };
toClone.setPrimitiveArrayWrapper(integerArrayClone);
assertEquals(toClone, tro);
}
public void testHintedOnlyConverter() throws Exception {
String hintStr = "where's my hint?";
CustomConverterWrapper source = new CustomConverterWrapper();
HintedOnly hint = new HintedOnly();
hint.setStr(hintStr);
source.addHint(hint);
CustomConverterWrapperPrime dest = (CustomConverterWrapperPrime) mapper.map(source, CustomConverterWrapperPrime.class);
String destHintStr = (String) dest.getNeedsHint().iterator().next();
assertNotNull(destHintStr);
assertEquals(hintStr, destHintStr);
CustomConverterWrapper sourcePrime = (CustomConverterWrapper) mapper.map(dest, CustomConverterWrapper.class);
String sourcePrimeHintStr = ((HintedOnly) sourcePrime.getNeedsHint().iterator().next()).getStr();
assertNotNull(sourcePrimeHintStr);
assertEquals(hintStr, sourcePrimeHintStr);
}
public void testDeepPropertyOneWay() throws Exception {
House house = new House();
Person owner = new Person();
owner.setYourName("myName");
house.setOwner(owner);
HomeDescription desc = (HomeDescription) mapper.map(house, HomeDescription.class);
assertEquals(desc.getDescription().getMyName(), "myName");
// make sure we don't map back
House house2 = (House) mapper.map(desc, House.class);
assertNull(house2.getOwner().getYourName());
}
public void testSelfMapping() throws Exception {
SimpleAccount simpleAccount = new SimpleAccount();
simpleAccount.setName("name");
simpleAccount.setPostcode(1234);
simpleAccount.setStreetName("streetName");
simpleAccount.setSuburb("suburb");
Account account = (Account) mapper.map(simpleAccount, Account.class);
assertEquals(account.getAddress().getStreet(), simpleAccount.getStreetName());
assertEquals(account.getAddress().getSuburb(), simpleAccount.getSuburb());
assertEquals(account.getAddress().getPostcode(), simpleAccount.getPostcode());
// try mapping back
SimpleAccount dest = (SimpleAccount) mapper.map(account, SimpleAccount.class);
assertEquals(account.getAddress().getStreet(), dest.getStreetName());
assertEquals(account.getAddress().getSuburb(), dest.getSuburb());
assertEquals(account.getAddress().getPostcode(), dest.getPostcode());
}
public void testPropertyToMap() throws Exception {
PropertyToMap ptm = new PropertyToMap();
ptm.setStringProperty("stringPropertyValue");
ptm.addStringProperty2("stringProperty2Value");
Map hashMap = new HashMap();
hashMap.put("reverseMapString", "reverseMapStringValue");
hashMap.put("reverseMapInteger", new Integer("567"));
ptm.setReverseMap(hashMap);
MapToProperty mtp = (MapToProperty) mapper.map(ptm, MapToProperty.class);
assertTrue(mtp.getHashMap().containsKey("stringProperty"));
assertTrue(mtp.getHashMap().containsValue("stringPropertyValue"));
assertTrue(mtp.getHashMap().containsKey("myStringProperty"));
assertTrue(mtp.getHashMap().containsValue("stringProperty2Value"));
assertFalse(mtp.getHashMap().containsValue("nullStringProperty"));
assertTrue(mtp.getNullHashMap().containsValue("stringPropertyValue"));
assertEquals("reverseMapStringValue", mtp.getReverseMapString());
assertEquals(((Integer) hashMap.get("reverseMapInteger")).toString(), mtp.getReverseMapInteger());
// Map Back
PropertyToMap dest = (PropertyToMap) mapper.map(mtp, PropertyToMap.class);
assertTrue(dest.getStringProperty().equals("stringPropertyValue"));
assertTrue(dest.getStringProperty2().equals("stringProperty2Value"));
assertTrue(dest.getReverseMap().containsKey("reverseMapString"));
assertTrue(dest.getReverseMap().containsValue("reverseMapStringValue"));
assertNull(dest.getNullStringProperty());
}
public void testPropertyToCustomMap() throws Exception {
PropertyToMap ptm = new PropertyToMap();
ptm.setStringProperty3("stringProperty3Value");
ptm.setStringProperty4("stringProperty4Value");
ptm.setStringProperty5("stringProperty5Value");
MapToProperty mtp = (MapToProperty) mapper.map(ptm, MapToProperty.class);
assertEquals("stringProperty3Value", mtp.getCustomMap().getValue("myCustomProperty"));
assertEquals("stringProperty5Value", mtp.getCustomMap().getValue("stringProperty5"));
assertEquals("stringProperty4Value", mtp.getNullCustomMap().getValue("myCustomNullProperty"));
assertEquals("stringProperty5Value", mtp.getCustomMapWithDiffSetMethod().getValue("stringProperty5"));
// Map Back
PropertyToMap dest = (PropertyToMap) mapper.map(mtp, PropertyToMap.class);
assertEquals("stringProperty3Value", dest.getStringProperty3());
assertEquals("stringProperty4Value", dest.getStringProperty4());
assertEquals("stringProperty5Value", dest.getStringProperty5());
}
public void testPropertyToClassLevelMap() throws Exception {
MapTestObject mto = new MapTestObject();
PropertyToMap ptm = new PropertyToMap();
Map map = new HashMap();
map.put("reverseClassLevelMapString", "reverseClassLevelMapStringValue");
mto.setPropertyToMapMapReverse(map);
ptm.setStringProperty("stringPropertyValue");
ptm.addStringProperty2("stringProperty2Value");
ptm.setStringProperty3("stringProperty3Value");
ptm.setStringProperty4("stringProperty4Value");
ptm.setStringProperty5("stringProperty5Value");
mto.setPropertyToMap(ptm);
PropertyToMap ptm2 = new PropertyToMap();
ptm2.setStringProperty("stringPropertyValue");
mto.setPropertyToMapToNullMap(ptm2);
MapTestObjectPrime mtop = (MapTestObjectPrime) mapper.map(mto, MapTestObjectPrime.class);
assertTrue(mtop.getPropertyToMapMap().containsKey("stringProperty"));
assertTrue(mtop.getPropertyToMapMap().containsKey("myStringProperty"));
assertTrue(mtop.getPropertyToMapMap().containsKey("stringProperty3"));
assertTrue(mtop.getPropertyToMapMap().containsKey("stringProperty4"));
assertTrue(mtop.getPropertyToMapMap().containsKey("stringProperty5"));
assertTrue(mtop.getPropertyToMapMap().containsKey("nullStringProperty"));
assertTrue(mtop.getPropertyToMapMap().containsValue("stringPropertyValue"));
assertTrue(mtop.getPropertyToMapMap().containsValue("stringProperty2Value"));
assertTrue(mtop.getPropertyToMapMap().containsValue("stringProperty3Value"));
assertTrue(mtop.getPropertyToMapMap().containsValue("stringProperty4Value"));
assertTrue(mtop.getPropertyToMapMap().containsValue("stringProperty5Value"));
assertFalse(mtop.getPropertyToMapMap().containsValue("nullStringProperty"));
assertFalse(mtop.getPropertyToMapMap().containsKey("excludeMe"));
assertEquals("reverseClassLevelMapStringValue", mtop.getPropertyToMapReverse().getReverseClassLevelMapString());
assertTrue(mtop.getNullPropertyToMapMap().containsKey("stringProperty"));
assertEquals("stringPropertyValue", mtop.getNullPropertyToMapMap().get("stringProperty"));
// Map Back
MapTestObject mto2 = (MapTestObject) mapper.map(mtop, MapTestObject.class);
assertEquals("stringPropertyValue", mto2.getPropertyToMap().getStringProperty());
assertEquals("stringProperty2Value", mto2.getPropertyToMap().getStringProperty2());
assertEquals("stringProperty3Value", mto2.getPropertyToMap().getStringProperty3());
assertEquals("stringProperty4Value", mto2.getPropertyToMap().getStringProperty4());
assertEquals("stringProperty5Value", mto2.getPropertyToMap().getStringProperty5());
assertTrue(mto2.getPropertyToMapMapReverse().containsKey("reverseClassLevelMapString"));
assertEquals("reverseClassLevelMapStringValue", mto2.getPropertyToMapMapReverse().get("reverseClassLevelMapString"));
}
public void testPropertyToCustomClassLevelMap() throws Exception {
MapTestObject mto = new MapTestObject();
PropertyToMap ptm = new PropertyToMap();
ptm.setStringProperty("stringPropertyValue");
ptm.addStringProperty2("stringProperty2Value");
mto.setPropertyToCustomMap(ptm);
CustomMapIF customMap = new CustomMap();
customMap.putValue("stringProperty", "stringPropertyValue");
mto.setPropertyToCustomMapMapWithInterface(customMap);
MapTestObjectPrime mtop = (MapTestObjectPrime) mapper.map(mto, MapTestObjectPrime.class);
assertEquals("stringPropertyValue", mtop.getPropertyToCustomMapMap().getValue("stringProperty"));
assertNull(mtop.getPropertyToCustomMapMap().getValue("excludeMe"));
assertEquals("stringProperty2Value", mtop.getPropertyToCustomMapMap().getValue("myStringProperty"));
assertEquals("stringPropertyValue", mtop.getPropertyToCustomMapWithInterface().getStringProperty());
// Map Back
MapTestObject mto2 = (MapTestObject) mapper.map(mtop, MapTestObject.class);
assertEquals("stringPropertyValue", mto2.getPropertyToCustomMap().getStringProperty());
assertEquals("stringProperty2Value", mto2.getPropertyToCustomMap().getStringProperty2());
assertNull(mto2.getPropertyToCustomMap().getExcludeMe());
assertEquals("stringPropertyValue", mto2.getPropertyToCustomMapMapWithInterface().getValue("stringProperty"));
}
public void testPropertyClassLevelMap() throws Exception {
PropertyToMap ptm = new PropertyToMap();
ptm.setStringProperty("stringPropertyValue");
ptm.addStringProperty2("stringProperty2Value");
Map map = (Map) mapper.map(ptm, HashMap.class, "myTestMapping");
assertEquals("stringPropertyValue", map.get("stringProperty"));
assertEquals("stringProperty2Value", map.get("myStringProperty"));
CustomMapIF customMap = (CustomMapIF) mapper.map(ptm, CustomMap.class, "myCustomTestMapping");
assertEquals("stringPropertyValue", customMap.getValue("stringProperty"));
assertEquals("stringProperty2Value", customMap.getValue("myStringProperty"));
CustomMapIF custom = new CustomMap();
custom.putValue("myKey", "myValue");
mapper.map(ptm, custom, "myCustomTestMapping");
assertEquals("stringPropertyValue", custom.getValue("stringProperty"));
assertEquals("myValue", custom.getValue("myKey"));
}
public void testPropertyClassLevelMapBack() throws Exception {
// Map Back
Map map = new HashMap();
map.put("stringProperty", "stringPropertyValue");
map.put("integerProperty", new Integer("567"));
PropertyToMap property = (PropertyToMap) mapper.map(map, PropertyToMap.class, "myTestMapping");
assertEquals("stringPropertyValue", property.getStringProperty());
CustomMapIF custom = new CustomMap();
custom.putValue("stringProperty", "stringPropertyValue");
PropertyToMap property2 = (PropertyToMap) mapper.map(custom, PropertyToMap.class, "myCustomTestMapping");
assertEquals("stringPropertyValue", property2.getStringProperty());
map.put("stringProperty3", "myValue");
mapper.map(map, property, "myTestMapping");
assertEquals("myValue", property.getStringProperty3());
}
public void testSetToArray() throws Exception {
Orange orange1 = new Orange();
orange1.setName("orange1");
Orange orange2 = new Orange();
orange2.setName("orange2");
Orange orange3 = new Orange();
orange3.setName("orange3");
Orange orange4 = new Orange();
orange4.setName("orange4");
Set set = new HashSet();
set.add(orange1);
set.add(orange2);
Set set2 = new HashSet();
set2.add(orange3);
set2.add(orange4);
TestObject to = new TestObject();
to.setSetToArray(set);
to.setSetToObjectArray(set2);
TestObjectPrime top = (TestObjectPrime) mapper.map(to, TestObjectPrime.class);
assertEquals("orange1", top.getArrayToSet()[0].getName());
assertEquals("orange2", top.getArrayToSet()[1].getName());
// Hashset changes the order
assertEquals("orange3", ((Apple) top.getObjectArrayToSet()[1]).getName());
assertEquals("orange4", ((Apple) top.getObjectArrayToSet()[0]).getName());
Apple apple = new Apple();
apple.setName("apple1");
Apple[] appleArray = { apple };
top.setSetToArrayWithValues(appleArray);
// now map back
Apple apple2 = new Apple();
apple2.setName("apple2");
TestObject toDest = new TestObject();
Set hashSet = new HashSet();
hashSet.add(apple2);
toDest.setSetToArrayWithValues(hashSet);
mapper.map(top, toDest);
assertTrue(toDest.getSetToArray().contains(top.getArrayToSet()[0]));
assertTrue(toDest.getSetToArray().contains(top.getArrayToSet()[1]));
assertTrue(toDest.getSetToObjectArray().contains((Apple) top.getObjectArrayToSet()[0]));
assertTrue(toDest.getSetToObjectArray().contains((Apple) top.getObjectArrayToSet()[1]));
assertTrue(toDest.getSetToArrayWithValues().contains(apple));
assertTrue(toDest.getSetToArrayWithValues().contains(apple2));
assertTrue(toDest.getSetToArrayWithValues() instanceof HashSet);
}
public void testSetToList() throws Exception {
Orange orange1 = new Orange();
orange1.setName("orange1");
Orange orange2 = new Orange();
orange2.setName("orange2");
Set set = new HashSet();
set.add(orange1);
set.add(orange2);
TestObject to = new TestObject();
to.setSetToList(set);
TestObjectPrime top = (TestObjectPrime) mapper.map(to, TestObjectPrime.class);
assertEquals("orange1", ((Orange) top.getListToSet().get(0)).getName());
assertEquals("orange2", ((Orange) top.getListToSet().get(1)).getName());
List list = new ArrayList();
Orange orange4 = new Orange();
orange4.setName("orange4");
list.add(orange4);
top.setSetToListWithValues(list);
// Map back
Orange orange3 = new Orange();
orange3.setName("orange3");
Set set2 = new HashSet();
set2.add(orange3);
set2.add(orange4);
TestObject toDest = new TestObject();
toDest.setSetToListWithValues(set2);
mapper.map(top, toDest);
assertTrue(toDest.getSetToList().contains(top.getListToSet().get(0)));
assertTrue(toDest.getSetToList().contains(top.getListToSet().get(1)));
assertTrue(toDest.getSetToListWithValues().contains(orange3));
assertTrue(toDest.getSetToListWithValues().contains(orange4));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -