public void test_withPrice() { IborFutureTrade base = sut(); double price = 0.95; IborFutureTrade computed = base.withPrice(price); IborFutureTrade expected = IborFutureTrade.builder() .info(TRADE_INFO) .product(PRODUCT) .quantity(QUANTITY) .price(price) .build(); assertEquals(computed, expected); }
public void test_withQuantity() { IborFutureTrade base = sut(); double quantity = 65243; IborFutureTrade computed = base.withQuantity(quantity); IborFutureTrade expected = IborFutureTrade.builder() .info(TRADE_INFO) .product(PRODUCT) .quantity(quantity) .price(PRICE) .build(); assertEquals(computed, expected); }
public void test_createProduct() { IborFutureSecurity test = sut(); assertEquals(test.createProduct(ReferenceData.empty()), PRODUCT); TradeInfo tradeInfo = TradeInfo.of(date(2016, 6, 30)); IborFutureTrade expectedTrade = IborFutureTrade.builder() .info(tradeInfo) .product(PRODUCT) .quantity(100) .price(0.995) .build(); assertEquals(test.createTrade(tradeInfo, 100, 0.995, ReferenceData.empty()), expectedTrade); PositionInfo positionInfo = PositionInfo.empty(); IborFuturePosition expectedPosition1 = IborFuturePosition.builder() .info(positionInfo) .product(PRODUCT) .longQuantity(100) .build(); TestHelper.assertEqualsBean(test.createPosition(positionInfo, 100, ReferenceData.empty()), expectedPosition1); IborFuturePosition expectedPosition2 = IborFuturePosition.builder() .info(positionInfo) .product(PRODUCT) .longQuantity(100) .shortQuantity(50) .build(); assertEquals(test.createPosition(positionInfo, 100, 50, ReferenceData.empty()), expectedPosition2); }
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 IborFutureTrade sut() { return IborFutureTrade.builder() .info(TRADE_INFO) .product(PRODUCT) .quantity(QUANTITY) .price(PRICE) .build(); }