### Question:
QuotesCsvLoader { public static ImmutableMap<QuoteId, Double> load(LocalDate marketDataDate, ResourceLocator... resources) { return load(marketDataDate, Arrays.asList(resources)); } private  QuotesCsvLoader(); static ImmutableMap<QuoteId, Double> load(LocalDate marketDataDate, ResourceLocator... resources); static ImmutableMap<QuoteId, Double> load(LocalDate marketDataDate, Collection<ResourceLocator> resources); static ImmutableMap<LocalDate, ImmutableMap<QuoteId, Double>> load(
      Set<LocalDate> marketDataDates,
      ResourceLocator... resources); static ImmutableMap<LocalDate, ImmutableMap<QuoteId, Double>> load(
      Set<LocalDate> marketDataDates,
      Collection<ResourceLocator> resources); static ImmutableMap<LocalDate, ImmutableMap<QuoteId, Double>> loadAllDates(ResourceLocator... resources); static ImmutableMap<LocalDate, ImmutableMap<QuoteId, Double>> loadAllDates(
      Collection<ResourceLocator> resources); static ImmutableMap<LocalDate, ImmutableMap<QuoteId, Double>> parse(
      Predicate<LocalDate> datePredicate,
      Collection<CharSource> charSources);  }### Answer:
@Test public void test_noFiles() { Map<QuoteId, Double> map = QuotesCsvLoader.load(DATE1); assertThat(map).hasSize(0); }
@Test public void test_load_oneDate_file1_date1() { Map<QuoteId, Double> map = QuotesCsvLoader.load(DATE1, QUOTES_1); assertThat(map).hasSize(2); assertFile1Date1(map); }
@Test public void test_load_oneDate_file1_date1date2() { Map<LocalDate, ImmutableMap<QuoteId, Double>> map = QuotesCsvLoader.load(ImmutableSet.of(DATE1, DATE2), QUOTES_1); assertThat(map).hasSize(2); assertFile1Date1Date2(map); }
@Test public void test_load_oneDate_file1_date2() { Map<QuoteId, Double> map = QuotesCsvLoader.load(DATE2, ImmutableList.of(QUOTES_1)); assertThat(map).hasSize(2); assertFile1Date2(map); }
@Test public void test_load_oneDate_file1file2_date1() { Map<QuoteId, Double> map = QuotesCsvLoader.load(DATE1, ImmutableList.of(QUOTES_1, QUOTES_2)); assertThat(map).hasSize(3); assertFile1Date1(map); assertFile2Date1(map); }
@Test public void test_load_oneDate_invalidDate() { assertThatIllegalArgumentException() .isThrownBy(() -> QuotesCsvLoader.load(date(2015, 10, 2), QUOTES_INVALID_DATE)) .withMessageStartingWith("Error processing resource as CSV file: "); }
@Test public void test_invalidDuplicate() { assertThatIllegalArgumentException().isThrownBy(() -> QuotesCsvLoader.load(DATE1, QUOTES_INVALID_DUPLICATE)); }
@Test public void test_load_dateSet_file1_date1() { Map<LocalDate, ImmutableMap<QuoteId, Double>> map = QuotesCsvLoader.load(ImmutableSet.of(DATE1, DATE2), QUOTES_1); assertThat(map).hasSize(2); assertFile1Date1(map.get(DATE1)); assertFile1Date2(map.get(DATE2)); }