0

リスト (List>) 内のマップのコンテンツをテストしたい 私のテストクラスでは、詳細の 1 つのマップでリストを埋めました。ここまではすべて問題ありません。私の問題は、マップの参照を確認するだけでなく、マップの内容を確認するにはどうすればよいですか?

テストされるための方法は次のとおりです。

    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;     
}

そして、これは私がそれをテストしようとしている方法です:

    @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();
    }       
}

Mapcontent をテストするためにいくつかの方法を試しましたが、まだ取得できません。結果は、参照、マップ全体を文字列または単なるブール値として比較するようなものでした。

ちょっとしたアドバイスやヒントがあれば、どうすればもっとうまくできるでしょうか?

ありがとう

4

1 に答える 1