### Question:
RatesCalibrationCsvLoader { public static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> load( ResourceLocator groupsResource, ResourceLocator settingsResource, ResourceLocator... curveNodeResources) { return load(groupsResource, settingsResource, ImmutableList.copyOf(curveNodeResources)); } private  RatesCalibrationCsvLoader(); static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> load(
      ResourceLocator groupsResource,
      ResourceLocator settingsResource,
      ResourceLocator... curveNodeResources); static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> load(
      ResourceLocator groupsResource,
      ResourceLocator settingsResource,
      Collection<ResourceLocator> curveNodeResources); static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> loadWithSeasonality(
      ResourceLocator groupsResource,
      ResourceLocator settingsResource,
      ResourceLocator seasonalityResource,
      Collection<ResourceLocator> curveNodeResources); static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> parse(
      CharSource groupsCharSource,
      CharSource settingsCharSource,
      Collection<CharSource> curveNodeCharSources); static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> parseWithSeasonality(
      CharSource groupsCharSource,
      CharSource settingsCharSource,
      CharSource seasonalityResource,
      Collection<CharSource> curveNodeCharSources);  }### Answer:
@Test public void test_noSettings() { assertThatIllegalArgumentException() .isThrownBy(() -> RatesCalibrationCsvLoader.load( ResourceLocator.of(GROUPS_1), ResourceLocator.of(SETTINGS_EMPTY), ResourceLocator.of(CALIBRATION_1))) .withMessageMatching("Missing settings for curve: .*"); }
@Test public void test_single_curve_multiple_Files() { assertThatIllegalArgumentException() .isThrownBy(() -> RatesCalibrationCsvLoader.load( ResourceLocator.of(GROUPS_1), ResourceLocator.of(SETTINGS_1), ImmutableList.of(ResourceLocator.of(CALIBRATION_1), ResourceLocator.of(CALIBRATION_1)))) .withMessageMatching("Multiple entries with same key: .*"); }
@Test public void test_invalid_curve_duplicate_points() { assertThatIllegalArgumentException() .isThrownBy(() -> RatesCalibrationCsvLoader.load( ResourceLocator.of(GROUPS_1), ResourceLocator.of(SETTINGS_1), ImmutableList.of(ResourceLocator.of(CALIBRATION_INVALID_TYPE)))); }