// add each node to the csv file private static void nodeLines(string valuationDateStr, Curve curve, CsvOutput csv) { ArgChecker.isTrue(curve is InterpolatedNodalCurve, "interpolated"); InterpolatedNodalCurve interpolatedCurve = (InterpolatedNodalCurve)curve; int nbPoints = interpolatedCurve.XValues.size(); for (int i = 0; i < nbPoints; i++) { ArgChecker.isTrue(interpolatedCurve.getParameterMetadata(i) is DatedParameterMetadata, "Curve metadata must contain a date, but was " + interpolatedCurve.getParameterMetadata(i).GetType().Name); DatedParameterMetadata metadata = (DatedParameterMetadata)interpolatedCurve.getParameterMetadata(i); IList <string> line = new List <string>(); line.Add(valuationDateStr); line.Add(curve.Name.Name.ToString()); line.Add(metadata.Date.ToString()); line.Add(decimal.valueOf(interpolatedCurve.YValues.get(i)).toPlainString()); line.Add(metadata.Label); csv.writeLine(line); } }
//------------------------------------------------------------------------- public virtual void test_of() { SimpleDiscountFactors test = SimpleDiscountFactors.of(GBP, DATE_VAL, CURVE); assertEquals(test.Currency, GBP); assertEquals(test.ValuationDate, DATE_VAL); assertEquals(test.Curve, CURVE); assertEquals(test.ParameterCount, CURVE.ParameterCount); assertEquals(test.getParameter(0), CURVE.getParameter(0)); assertEquals(test.getParameterMetadata(0), CURVE.getParameterMetadata(0)); assertEquals(test.withParameter(0, 1d).Curve, CURVE.withParameter(0, 1d)); assertEquals(test.withPerturbation((i, v, m) => v + 1d).Curve, CURVE.withPerturbation((i, v, m) => v + 1d)); assertEquals(test.findData(CURVE.Name), CURVE); assertEquals(test.findData(CurveName.of("Rubbish")), null); }