public void test_write_standard_roundTrip() { CharSource source = ResourceLocator.ofClasspath("com/opengamma/strata/loader/csv/sensitivity-standard.csv").CharSource; ValueWithFailures <ListMultimap <string, CurveSensitivities> > parsed1 = LOADER.parse(ImmutableList.of(source)); assertEquals(parsed1.Failures.size(), 0, parsed1.Failures.ToString()); assertEquals(parsed1.Value.size(), 1); IList <CurveSensitivities> csensList1 = parsed1.Value.get(""); assertEquals(csensList1.Count, 1); CurveSensitivities csens1 = csensList1[0]; StringBuilder buf = new StringBuilder(); WRITER.write(csens1, buf); string content = buf.ToString(); ValueWithFailures <ListMultimap <string, CurveSensitivities> > parsed2 = LOADER.parse(ImmutableList.of(CharSource.wrap(content))); assertEquals(parsed2.Failures.size(), 0, parsed2.Failures.ToString()); assertEquals(parsed2.Value.size(), 1); IList <CurveSensitivities> csensList2 = parsed2.Value.get(""); assertEquals(csensList2.Count, 1); CurveSensitivities csens2 = csensList2[0]; assertEquals(csens2, csens1); }
//------------------------------------------------------------------------- public void test_parse_list() { CharSource source = ResourceLocator.ofClasspath("com/opengamma/strata/loader/csv/sensitivity-list.csv").CharSource; assertEquals(LOADER.isKnownFormat(source), true); ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER.parse(ImmutableList.of(source)); assertEquals(test.Failures.size(), 0, test.Failures.ToString()); assertEquals(test.Value.size(), 1); IList <CurveSensitivities> list = test.Value.get(""); assertEquals(list.Count, 1); CurveSensitivities csens0 = list[0]; assertEquals(csens0.TypedSensitivities.size(), 3); string tenors = "1D, 1W, 2W, 1M, 3M, 6M, 12M, 2Y, 5Y, 10Y"; assertSens(csens0, ZERO_RATE_DELTA, "GBP", GBP, tenors, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); assertSens(csens0, ZERO_RATE_DELTA, "GBP-LIBOR", GBP, tenors, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); assertSens(csens0, ZERO_RATE_GAMMA, "GBP", GBP, tenors, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1); assertSens(csens0, ZERO_RATE_GAMMA, "GBP-LIBOR", GBP, tenors, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1); assertSens(csens0, OTHER, "GBP", GBP, tenors, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0); assertSens(csens0, OTHER, "GBP-LIBOR", GBP, tenors, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0); }
public void test_parse_grid_full() { CharSource source = ResourceLocator.ofClasspath("com/opengamma/strata/loader/csv/sensitivity-grid-full.csv").CharSource; assertEquals(LOADER_CCP.isKnownFormat(source), true); ValueWithFailures <ListMultimap <string, CurveSensitivities> > test = LOADER_CCP.parse(ImmutableList.of(source)); assertEquals(test.Failures.size(), 0, test.Failures.ToString()); IList <CurveSensitivities> list0 = test.Value.get("SCHEME~TR1"); assertEquals(list0.Count, 1); CurveSensitivities csens0 = list0[0]; assertEquals(csens0.Id, StandardId.of("SCHEME", "TR1")); assertEquals(csens0.Info.getAttribute(CCP_ATTR), "LCH"); assertEquals(csens0.TypedSensitivities.size(), 2); assertSens(csens0, ZERO_RATE_DELTA, "GBCURVE", GBP, "1M, 3M, 6M", 1, 2, 3); assertSens(csens0, ZERO_RATE_GAMMA, "GBCURVE", GBP, "1M, 3M, 6M", 4, 5, 6); IList <CurveSensitivities> list1 = test.Value.get("OG-Sensitivity~TR2"); assertEquals(list1.Count, 1); CurveSensitivities csens1 = list1[0]; assertEquals(csens1.Id, StandardId.of("OG-Sensitivity", "TR2")); assertEquals(csens1.Info.getAttribute(CCP_ATTR), "CME"); assertEquals(csens1.TypedSensitivities.size(), 1); assertSens(csens1, ZERO_RATE_DELTA, "GBCURVE", GBP, "1M, 3M, 6M", 7, 8, 9); }
static GlobalHolidayCalendarLookup() { ImmutableMap.Builder <string, HolidayCalendar> builder = ImmutableMap.builder(); ResourceLocator locator = ResourceLocator.ofClasspath("com/opengamma/strata/basics/date/GlobalHolidayCalendars.bin"); try { using (Stream fis = locator.ByteSource.openStream()) { using (DataInputStream @in = new DataInputStream(fis)) { if (@in.readByte() != 'H' || @in.readByte() != 'C' || @in.readByte() != 'a' || @in.readByte() != 'l') { Console.Error.WriteLine("ERROR: Corrupt holiday calendar data file"); } else { short calSize = @in.readShort(); for (int i = 0; i < calSize; i++) { HolidayCalendar cal = ImmutableHolidayCalendar.readExternal(@in); builder.put(cal.Id.Name, cal); } } } } } catch (IOException ex) { Console.Error.WriteLine("ERROR: Unable to parse holiday calendar data file: " + ex.Message); Console.WriteLine(ex.ToString()); Console.Write(ex.StackTrace); } MAP = builder.build(); }
//------------------------------------------------------------------------- // Gets the resource locator corresponding to a given entry private ResourceLocator getEntryLocator(string entryName) { return(ResourceLocator.ofClasspath(entryName)); }