/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.product.credit; import static com.opengamma.strata.collect.TestHelper.assertSerialization; import static com.opengamma.strata.collect.TestHelper.assertThrowsIllegalArg; import static com.opengamma.strata.collect.TestHelper.coverBeanEquals; import static com.opengamma.strata.collect.TestHelper.coverImmutableBean; import static com.opengamma.strata.collect.TestHelper.date; import static org.testng.Assert.assertEquals; import org.testng.annotations.Test; import com.opengamma.strata.basics.ReferenceData; import com.opengamma.strata.product.TradeInfo; /** * Test {@link CdsTrade}. */ @Test public class CdsTradeTest { private static final ReferenceData REF_DATA = ReferenceData.standard(); //------------------------------------------------------------------------- public void test_of() { CdsTrade test = CdsTrade.of(tradeInfo(), CdsTest.sutSingleName()); assertEquals(test, sutSingleName()); } //------------------------------------------------------------------------- public void test_builder_notEnoughData() { assertThrowsIllegalArg(() -> CdsTrade.builder().build()); } //------------------------------------------------------------------------- public void test_resolve() { assertEquals(sutSingleName().resolve(REF_DATA), ResolvedCdsTradeTest.sutSingleName()); } //------------------------------------------------------------------------- public void coverage() { coverImmutableBean(sutIndex()); coverImmutableBean(sutSingleName()); coverBeanEquals(sutSingleName(), sutIndex()); } public void test_serialization() { assertSerialization(sutIndex()); assertSerialization(sutSingleName()); } //------------------------------------------------------------------------- static CdsTrade sutSingleName() { return CdsTrade.builder() .info(tradeInfo()) .product(CdsTest.sutSingleName()) .build(); } static CdsTrade sutIndex() { return CdsTrade.builder() .info(tradeInfo()) .product(CdsTest.sutIndex()) .build(); } static TradeInfo tradeInfo() { return TradeInfo.builder().tradeDate(date(2014, 6, 30)).build(); } }