final double fixingPeriodEndTime = 7. / 12;
final double fixingTime = fixingPeriodStartTime;
final double fixingYearFraction = 31. / 365;
final double paymentYearFraction = 30. / 360;
final double rate = 0.06534;
final ForwardRateAgreement fra = new ForwardRateAgreement(CUR, paymentTime, FIVE_PC_CURVE_NAME, paymentYearFraction, 1, index, fixingTime, fixingPeriodStartTime, fixingPeriodEndTime,
fixingYearFraction, rate, FIVE_PC_CURVE_NAME);
final ForwardRateAgreement fraUp = new ForwardRateAgreement(CUR, paymentTime, FIVE_PC_CURVE_NAME, paymentYearFraction, 1, index, fixingTime, fixingPeriodStartTime, fixingPeriodEndTime,
fixingYearFraction, rate + DELTA, FIVE_PC_CURVE_NAME);
final ForwardRateAgreement fraDown = new ForwardRateAgreement(CUR, paymentTime, FIVE_PC_CURVE_NAME, paymentYearFraction, 1, index, fixingTime, fixingPeriodStartTime, fixingPeriodEndTime,
fixingYearFraction, rate - DELTA, FIVE_PC_CURVE_NAME);
final double pvUp = fraUp.accept(PVC, CURVES);
final double pvDown = fraDown.accept(PVC, CURVES);
final double temp = (pvUp - pvDown) / 2 / DELTA;
//TODO accuracy is off compared to old FRA definition
assertEquals(temp, fra.accept(PVCSC, CURVES), 1e-5);
}