/** * Writes the curve groups definition in a CSV format to a file. * * @param file the destination for the CSV, such as a file * @param groups the curve groups */ public static void writeCurveGroupDefinition(File file, RatesCurveGroupDefinition... groups) { try (Writer writer = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8)) { writeCurveGroupDefinition(writer, groups); } catch (IOException ex) { throw new UncheckedIOException(ex); } }
/** * Writes the curve groups definition in a CSV format to an appendable. * * @param underlying the underlying appendable destination * @param groups the curve groups */ public static void writeCurveGroupDefinition(Appendable underlying, RatesCurveGroupDefinition... groups) { CsvOutput csv = CsvOutput.standard(underlying); csv.writeLine(HEADERS); for (RatesCurveGroupDefinition group : groups) { writeCurveGroupDefinition(csv, group); } }
public void test_writeCurveGroupDefinition() { RatesCurveGroupDefinition defn = RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1)).get(0); Appendable underlying = new StringBuilder(); RatesCurveGroupDefinitionCsvLoader.writeCurveGroupDefinition(underlying, defn); String created = underlying.toString(); String expected = "Group Name,Curve Type,Reference,Curve Name" + System.lineSeparator() + "Default,discount,USD,USD-Disc" + System.lineSeparator() + "Default,forward,USD-LIBOR-3M,USD-3ML" + System.lineSeparator() + "Default,forward,US-CPI-U,USD-CPI" + System.lineSeparator(); assertEquals(created, expected); }
public void test_test_writeCurveGroupDefinition_roundtrip() throws Exception { List<RatesCurveGroupDefinition> defn = RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1)); File tempFile = File.createTempFile("TestCurveGroupLoading", "csv"); tempFile.deleteOnExit(); RatesCurveGroupDefinitionCsvLoader.writeCurveGroupDefinition(tempFile, defn.get(0)); assertEquals(RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.ofFile(tempFile)), defn); }