public void test_builder_defaults() { IborFuture test = IborFuture.builder() .securityId(SECURITY_ID) .currency(GBP) .notional(NOTIONAL) .lastTradeDate(LAST_TRADE_DATE) .index(GBP_LIBOR_2M) .build(); assertEquals(test.getSecurityId(), SECURITY_ID); assertEquals(test.getCurrency(), GBP); assertEquals(test.getNotional(), NOTIONAL); assertEquals(test.getAccrualFactor(), ACCRUAL_FACTOR2); assertEquals(test.getLastTradeDate(), LAST_TRADE_DATE); assertEquals(test.getIndex(), GBP_LIBOR_2M); assertEquals(test.getRounding(), Rounding.none()); assertEquals(test.getFixingDate(), LAST_TRADE_DATE); }
public void test_builder_noCurrency() { IborFuture test = IborFuture.builder() .securityId(SECURITY_ID) .notional(NOTIONAL) .index(GBP_LIBOR_2M) .lastTradeDate(LAST_TRADE_DATE) .rounding(ROUNDING) .build(); assertEquals(GBP, test.getCurrency()); }
private IborFutureTrade createTrade( LocalDate tradeDate, SecurityId securityId, double quantity, double notional, double price, YearMonth yearMonth, LocalDate lastTradeDate, LocalDate referenceDate) { double accrualFactor = index.getTenor().get(ChronoUnit.MONTHS) / 12.0; IborFuture product = IborFuture.builder() .securityId(securityId) .index(index) .accrualFactor(accrualFactor) .lastTradeDate(lastTradeDate) .notional(notional) .build(); TradeInfo info = TradeInfo.of(tradeDate); return IborFutureTrade.builder() .info(info) .product(product) .quantity(quantity) .price(price) .build(); }
static IborFuture sut() { return IborFuture.builder() .securityId(SECURITY_ID) .currency(USD) .notional(NOTIONAL) .accrualFactor(ACCRUAL_FACTOR) .lastTradeDate(LAST_TRADE_DATE) .index(USD_LIBOR_3M) .rounding(ROUNDING) .build(); }
public void test_builder_noIndex() { assertThrowsIllegalArg(() -> IborFuture.builder() .securityId(SECURITY_ID) .notional(NOTIONAL) .currency(GBP) .lastTradeDate(LAST_TRADE_DATE) .rounding(ROUNDING) .build()); }
@Override public IborFuture createProduct(ReferenceData refData) { return IborFuture.builder() .securityId(getSecurityId()) .notional(notional) .index(index) .lastTradeDate(lastTradeDate) .rounding(rounding) .build(); }
static IborFuture sut2() { return IborFuture.builder() .securityId(SECURITY_ID2) .currency(GBP) .notional(NOTIONAL2) .accrualFactor(ACCRUAL_FACTOR2) .lastTradeDate(LAST_TRADE_DATE2) .index(GBP_LIBOR_2M) .build(); }