Java JUnit测试列表中映射的内容
我想测试列表中地图的内容(列表>) 在我的Testclass中,我用一张详细地图填充了列表。在这里之前一切都很好,我现在的问题是,我如何检查地图的内容,而不仅仅是检查地图的参考 以下是测试方法:Java JUnit测试列表中映射的内容,java,android,map,junit,arraylist,Java,Android,Map,Junit,Arraylist,我想测试列表中地图的内容(列表>) 在我的Testclass中,我用一张详细地图填充了列表。在这里之前一切都很好,我现在的问题是,我如何检查地图的内容,而不仅仅是检查地图的参考 以下是测试方法: private Date startDate; private Date endDate; public static List<Map<String, String>> convertListToMap(List<Appointment> appo
private Date startDate;
private Date endDate;
public static List<Map<String, String>> convertListToMap(List<Appointment> appointmentList) throws java.text.ParseException {
List<Map<String, String>> appointmentsListWithMap = new ArrayList<Map<String, String>>();
SimpleDateFormat germanTimeFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm");
if (appointmentList != null && !appointmentList.isEmpty()) {
HashMap<String, String> map;
for (Appointment appointment : appointmentList) {
map = new HashMap<String, String>();
map.put("id", String.valueOf(appointment));
map.put("Terminname", appointment.getName());
map.put("Datum u. Uhrzeit", germanTimeFormat.format(appointment.getStartDate()));
map.put("Enduhrzeit", germanTimeFormat.format(appointment.getEndDate()));
appointmentsListWithMap.add(map);
}
}
return appointmentsListWithMap;
}
私人日期开始日期;
私人日期结束日期;
公共静态列表ConvertListMap(List appointmentList)抛出java.text.ParseException{
List AppointsListWithMap=new ArrayList();
SimpleDataFormat Germaniformat=新SimpleDataFormat(“dd.MM.yyyy HH:MM”);
if(appointmentList!=null&&!appointmentList.isEmpty()){
HashMap图;
for(约会:约会列表){
map=新的HashMap();
map.put(“id”,String.valueOf(约会));
map.put(“terminame”,appointment.getName());
map.put(“Datum u.Uhrzeit”,germaniformat.format(appointment.getStartDate());
map.put(“Enduhrzeit”,germaniformat.format(appointment.getEndDate());
appointmentsListWithMap.add(地图);
}
}
返回任命列表和地图;
}
这就是我试图测试它的方式:
@Test
public static void testConvertListToMap() throws java.text.ParseException {
Appointment tester = new Appointment();
ArrayList<Appointment> appList = new ArrayList<Appointment>();
List<Map<String, String>> appointmentsListWithMap = new ArrayList<Map<String, String>>();
try {
JSONArray appointmentsJSONArray;
String startDate = "2013-05-21 13:00:00";
String endDate = "2013-05-21 14:00:00";
Calendar cal = GregorianCalendar.getInstance(); // creates calendar
cal.setTimeZone(TimeZone.getTimeZone("CET"));
SimpleDateFormat readFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date startingDate = readFormat.parse(startDate);
Date endingDate = readFormat.parse(endDate);
Appointment app = new Appointment();
app.setName("test");
app.setStartDate(startingDate);
app.setEndDate(endingDate);
app.setTreshold(1);
appList.add(app);
List<Map<String, String>> appMap = Appointment.convertListToMap(appList);
assertNotNull(appMap);
Map<String, String> test = appMap.get(0);
assertNotNull(test);
assertEquals("Terminname=test", appMap.getName(0));
if (test.isEmpty()) {
fail("empty");
}
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@测试
public static void testConvertListToMap()引发java.text.ParseException{
约会测试员=新约会();
ArrayList appList=新的ArrayList();
List AppointsListWithMap=new ArrayList();
试试{
JSONArray任命SONARAY;
字符串startDate=“2013-05-21 13:00:00”;
字符串endDate=“2013-05-21 14:00:00”;
Calendar cal=GregorianCalendar.getInstance();//创建日历
cal.setTimeZone(TimeZone.getTimeZone(“CET”));
SimpleDataFormat readFormat=新SimpleDataFormat(“yyyy-MM-dd-HH:MM”);
datestartingdate=readFormat.parse(startDate);
Date endingDate=readFormat.parse(endDate);
约会应用程序=新约会();
附录setName(“测试”);
应用程序设置开始日期(开始日期);
app.setEndDate(endingDate);
附录setTreshold(1);
添加(app);
List appMap=Appointment.convertlistomap(appList);
assertNotNull(appMap);
Map test=appMap.get(0);
assertNotNull(测试);
assertEquals(“terminame=test”,appMap.getName(0));
if(test.isEmpty()){
失败(“空”);
}
}catch(java.text.parsee){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
我尝试了几种方法来测试Mapcontent,但还是不明白。结果就像比较参考文献,将整个地图作为字符串或布尔值
有谁有什么建议或建议,我如何才能做得更好
谢谢我认为这句话:
assertEquals("Terminname=test", appMap.getName(0));
应该是
assertEquals("test", test.get("Terminname"));
不客气。如果它解决了你的问题,则将其标记为已接受(是的,可以,只需等待3分钟:D