リスト (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 をテストするためにいくつかの方法を試しましたが、まだ取得できません。結果は、参照、マップ全体を文字列または単なるブール値として比較するようなものでした。
ちょっとしたアドバイスやヒントがあれば、どうすればもっとうまくできるでしょうか?
ありがとう