### Question:
RatesCurveGroupDefinitionCsvLoader { public static List<RatesCurveGroupDefinition> loadCurveGroupDefinitions(ResourceLocator groupsResource) { return parseCurveGroupDefinitions(groupsResource.getCharSource()); } private  RatesCurveGroupDefinitionCsvLoader(); static List<RatesCurveGroupDefinition> loadCurveGroupDefinitions(ResourceLocator groupsResource); static List<RatesCurveGroupDefinition> parseCurveGroupDefinitions(CharSource groupsCharSource); static void writeCurveGroupDefinition(File file, RatesCurveGroupDefinition... groups); static void writeCurveGroupDefinition(Appendable underlying, RatesCurveGroupDefinition... groups); static void writeCurveGroup(File file, RatesCurveGroup... groups); static void writeCurveGroup(Appendable underlying, RatesCurveGroup... groups);  }### Answer:
@Test public void test_loadCurveGroupDefinition() { List<RatesCurveGroupDefinition> defns = RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1)); assertThat(defns).hasSize(1); RatesCurveGroupDefinition defn = defns.get(0); assertThat(defn.getEntries().get(0)).isEqualTo(RatesCurveGroupEntry.builder() .curveName(CurveName.of("USD-Disc")) .discountCurrencies(USD) .build()); assertThat(defn.getEntries().get(1)).isEqualTo(RatesCurveGroupEntry.builder() .curveName(CurveName.of("USD-3ML")) .indices(USD_LIBOR_3M) .build()); }