//------------------------------------------------------------------------- public virtual void test_createProduct() { CapitalIndexedBondSecurity test = sut(); assertEquals(test.createProduct(ReferenceData.empty()), PRODUCT); TradeInfo tradeInfo = TradeInfo.builder().tradeDate(date(2016, 6, 30)).settlementDate(date(2016, 7, 1)).build(); CapitalIndexedBondTrade expectedTrade = CapitalIndexedBondTrade.builder().info(tradeInfo).product(PRODUCT).quantity(100).price(123.50).build(); assertEquals(test.createTrade(tradeInfo, 100, 123.50, ReferenceData.empty()), expectedTrade); }
//------------------------------------------------------------------------- public virtual void test_builder() { CapitalIndexedBondSecurity test = sut(); assertEquals(test.Info, INFO); assertEquals(test.SecurityId, PRODUCT.SecurityId); assertEquals(test.Currency, PRODUCT.Currency); assertEquals(test.UnderlyingIds, ImmutableSet.of()); assertEquals(test.FirstIndexValue, PRODUCT.FirstIndexValue); }
public virtual void test_builder_fail() { assertThrowsIllegalArg(() => CapitalIndexedBondSecurity.builder().info(INFO).dayCount(DAY_COUNT).rateCalculation(RATE).legalEntityId(LEGAL_ENTITY).currency(EUR).notional(NOTIONAL).accrualSchedule(PERIOD_SCHEDULE).settlementDateOffset(DATE_OFFSET).yieldConvention(YIELD_CONVENTION).exCouponPeriod(DaysAdjustment.ofBusinessDays(EX_COUPON_DAYS, EUTA, BUSINESS_ADJUST)).build()); assertThrowsIllegalArg(() => CapitalIndexedBondSecurity.builder().info(INFO).dayCount(DAY_COUNT).rateCalculation(RATE).legalEntityId(LEGAL_ENTITY).currency(EUR).notional(NOTIONAL).accrualSchedule(PERIOD_SCHEDULE).settlementDateOffset(DaysAdjustment.ofBusinessDays(-3, EUTA)).yieldConvention(YIELD_CONVENTION).build()); }
internal static CapitalIndexedBondSecurity createSecurity(CapitalIndexedBond product) { return(CapitalIndexedBondSecurity.builder().info(SecurityInfo.of(product.SecurityId, INFO.PriceInfo)).currency(product.Currency).notional(product.Notional).accrualSchedule(product.AccrualSchedule).rateCalculation(product.RateCalculation).dayCount(product.DayCount).yieldConvention(product.YieldConvention).legalEntityId(product.LegalEntityId).settlementDateOffset(product.SettlementDateOffset).exCouponPeriod(product.ExCouponPeriod).build()); }