Java JUnit测试列表中映射的内容

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

我想测试列表中地图的内容(列表>) 在我的Testclass中,我用一张详细地图填充了列表。在这里之前一切都很好,我现在的问题是,我如何检查地图的内容,而不仅仅是检查地图的参考

以下是测试方法:

    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