public void test_builder_minimum() { IborFixingDeposit test = IborFixingDeposit.builder() .buySell(SELL) .notional(NOTIONAL) .startDate(START_DATE) .endDate(END_DATE) .businessDayAdjustment(BDA_MOD_FOLLOW) .index(GBP_LIBOR_6M) .fixedRate(RATE) .build(); assertEquals(test.getBusinessDayAdjustment().get(), BDA_MOD_FOLLOW); assertEquals(test.getBuySell(), SELL); assertEquals(test.getFixingDateOffset(), GBP_LIBOR_6M.getFixingDateOffset()); assertEquals(test.getNotional(), NOTIONAL); assertEquals(test.getCurrency(), GBP); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getStartDate(), START_DATE); assertEquals(test.getEndDate(), END_DATE); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getFixedRate(), RATE); }
public void test_builder_full() { IborFixingDeposit test = IborFixingDeposit.builder() .buySell(SELL) .notional(NOTIONAL) .currency(GBP) .startDate(START_DATE) .endDate(END_DATE) .businessDayAdjustment(BDA_MOD_FOLLOW) .fixingDateOffset(DAY_ADJ) .dayCount(ACT_365F) .index(GBP_LIBOR_6M) .fixedRate(RATE) .build(); assertEquals(test.getBusinessDayAdjustment().get(), BDA_MOD_FOLLOW); assertEquals(test.getBuySell(), SELL); assertEquals(test.getFixingDateOffset(), DAY_ADJ); assertEquals(test.getNotional(), NOTIONAL); assertEquals(test.getCurrency(), GBP); assertEquals(test.getDayCount(), ACT_365F); assertEquals(test.getStartDate(), START_DATE); assertEquals(test.getEndDate(), END_DATE); assertEquals(test.getIndex(), GBP_LIBOR_6M); assertEquals(test.getFixedRate(), RATE); assertEquals(test.isCrossCurrency(), false); assertEquals(test.allPaymentCurrencies(), ImmutableSet.of(GBP)); assertEquals(test.allCurrencies(), ImmutableSet.of(GBP)); }
@Override public ResolvedIborFixingDeposit resolve(ReferenceData refData) { DateAdjuster bda = getBusinessDayAdjustment().orElse(BusinessDayAdjustment.NONE).resolve(refData); LocalDate start = bda.adjust(startDate); LocalDate end = bda.adjust(endDate); double yearFraction = dayCount.yearFraction(start, end); LocalDate fixingDate = fixingDateOffset.adjust(startDate, refData); return ResolvedIborFixingDeposit.builder() .startDate(start) .endDate(end) .yearFraction(yearFraction) .currency(getCurrency()) .notional(buySell.normalize(notional)) .floatingRate(IborRateComputation.of(index, fixingDate, refData)) .fixedRate(fixedRate) .build(); }