### Question:
XMLStorage implements IStorage { @Override public NoteList readNoteList(String source) throws STException { return xmlNoteList.readNoteList(source); } XMLStorage(); @Override SportTypeList readSportTypeList(String source, SpeedMode defaultSpeedMode); @Override void storeSportTypeList(SportTypeList sportTypeList, String destination); @Override ExerciseList readExerciseList(String source, SportTypeList sportTypeList); @Override void storeExerciseList(ExerciseList exerciseList, String destination); @Override NoteList readNoteList(String source); @Override void storeNoteList(NoteList noteList, String destination); @Override WeightList readWeightList(String source); @Override void storeWeightList(WeightList weightList, String destination);  }### Answer:
@Test public void testReadNoteList() throws STException { NoteList noteList = storage.readNoteList("misc/testdata/notes-valid.xml"); checkNoteListContent(noteList); NoteList noteListEmpty = storage.readNoteList("misc/testdata/notes-xyz.xml"); assertEquals(0, noteListEmpty.size()); assertThrows(STException.class, () -> storage.readNoteList("misc/testdata/notes-invalid.xml")); }