@DataProvider(name = "quarterlyImm") public static Object[][] data_quarterlyImm() { return new Object[][] { {date(2013, 1, 1), date(2013, 3, 20), date(2013, 6, 19), date(2013, 9, 18)}, {date(2013, 3, 20), date(2013, 6, 19), date(2013, 9, 18), date(2013, 12, 18)}, {date(2013, 6, 19), date(2013, 9, 18), date(2013, 12, 18), date(2014, 3, 19)}, {date(2013, 9, 18), date(2013, 12, 18), date(2014, 3, 19), date(2014, 6, 18)}, {date(2013, 12, 18), date(2014, 3, 19), date(2014, 6, 18), date(2014, 9, 17)}, }; }
@DataProvider(name = "adjust") public static Object[][] data_adjust() { return new Object[][] { // not last day {1, date(2014, 8, 15), date(2014, 9, 15)}, {2, date(2014, 8, 15), date(2014, 10, 15)}, {3, date(2014, 8, 15), date(2014, 11, 17)}, // last day {1, date(2014, 2, 28), date(2014, 3, 31)}, {1, date(2014, 6, 30), date(2014, 7, 31)}, }; }
public void test_of() { IborIndexObservation test = IborIndexObservation.of(USD_LIBOR_3M, date(2016, 2, 18), REF_DATA); double yearFraction = USD_LIBOR_3M.getDayCount().yearFraction(date(2016, 2, 22), date(2016, 5, 23)); IborIndexObservation expected = new IborIndexObservation( USD_LIBOR_3M, date(2016, 2, 18), date(2016, 2, 22), date(2016, 5, 23), yearFraction); assertEquals(test, expected); assertEquals(test.getCurrency(), USD); }
@Test(dataProvider = "types") public void test_null(StubConvention type) { assertThrowsIllegalArg(() -> type.toRollConvention(null, date(2014, JULY, 1), Frequency.P3M, true)); assertThrowsIllegalArg(() -> type.toRollConvention(date(2014, JULY, 1), null, Frequency.P3M, true)); assertThrowsIllegalArg(() -> type.toRollConvention(date(2014, JULY, 1), date(2014, OCTOBER, 1), null, true)); }
public void test_after_regression() { LocalDate startDate = date(2018, 3, 1); LocalDate endDate = date(2018, 3, 31); OvernightAveragedDailyRateComputation cmp = OvernightAveragedDailyRateComputation.of( USD_FED_FUND, startDate, endDate, REF_DATA); ImmutableRatesProvider rates = getRatesProvider(date(2018, 4, 28)); double computed = FUNCTION.rate(cmp, DUMMY_ACCRUAL_START_DATE, DUMMY_ACCRUAL_END_DATE, rates); double expected = 0.0150612903225806; assertEquals(computed, expected, TOL); assertEquals(FUNCTION.rateSensitivity(cmp, startDate, endDate, rates), PointSensitivityBuilder.none()); }
public void test_build() { IborFutureOptionSensitivity base = IborFutureOptionSensitivity.of( NAME, 12d, date(2015, 8, 28), 0.98, 0.99, GBP, 32d); PointSensitivities test = base.build(); assertEquals(test.getSensitivities(), ImmutableList.of(base)); }
public void test_load_oneDate_invalidDate() { assertThrows( () -> FxRatesCsvLoader.load(date(2015, 10, 2), RATES_INVALID_DATE), IllegalArgumentException.class, "Error processing resource as CSV file: .*"); }
public void test_withCurrency() { IborFutureOptionSensitivity base = IborFutureOptionSensitivity.of( NAME, 12d, date(2015, 8, 28), 0.98, 0.99, GBP, 32d); assertSame(base.withCurrency(GBP), base); IborFutureOptionSensitivity expected = IborFutureOptionSensitivity.of( NAME, 12d, date(2015, 8, 28), 0.98, 0.99, USD, 32d); IborFutureOptionSensitivity test = base.withCurrency(USD); assertEquals(test, expected); }
public void test_resolveValues_sequence() { ValueStepSequence seq = ValueStepSequence.of( date(2014, 2, 1), date(2014, 3, 1), Frequency.P1M, ValueAdjustment.ofDeltaAmount(100)); ValueSchedule test = ValueSchedule.of(200d, seq); assertEquals(test.resolveValues(SCHEDULE), DoubleArray.of(200d, 300d, 400d)); }
public void test_of_currency() { OvernightRateSensitivity test = OvernightRateSensitivity.of(GBP_SONIA_OBSERVATION, USD, 32d); assertEquals(test.getIndex(), GBP_SONIA); assertEquals(test.getCurrency(), USD); assertEquals(test.getEndDate(), date(2015, 8, 28)); assertEquals(test.getSensitivity(), 32d); assertEquals(test.getIndex(), GBP_SONIA); }
public void test_normalize() { IborFutureOptionSensitivity base = IborFutureOptionSensitivity.of( NAME, 12d, date(2015, 8, 28), 0.98, 0.99, GBP, 32d); IborFutureOptionSensitivity test = base.normalize(); assertSame(test, base); }
@Test(dataProvider = "types") public void test_null(PeriodAdditionConvention type) { assertThrowsIllegalArg(() -> type.adjust(null, Period.ofMonths(3), HolidayCalendars.NO_HOLIDAYS)); assertThrowsIllegalArg(() -> type.adjust(date(2014, 7, 11), null, HolidayCalendars.NO_HOLIDAYS)); assertThrowsIllegalArg(() -> type.adjust(date(2014, 7, 11), Period.ofMonths(3), null)); assertThrowsIllegalArg(() -> type.adjust(null, null, null)); }