### Question:
ProjectDownloader { public ZippedProject downloadExercise(Exercise exercise) { String zipUrl = exercise.getDownloadUrl(); return server.getExerciseZip(zipUrl); } ProjectDownloader(ServerManager server); List<ZippedProject> downloadExercises(List<Exercise> exercises); ZippedProject downloadExercise(Exercise exercise);  }### Answer:
@Test public void attemptsToDownloadProjectFromCorrectUrl() { Exercise exercise = mock(Exercise.class); when(exercise.getDownloadUrl()).thenReturn("url"); ZippedProject mockZip = new ZippedProject(); when(server.getExerciseZip(any(String.class))).thenReturn(mockZip); ZippedProject retrievedZip = downloader.downloadExercise(exercise); verify(server, times(1)).getExerciseZip("url"); assertEquals(mockZip, retrievedZip); }