/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.product.cms; import static com.opengamma.strata.collect.TestHelper.assertSerialization; import static com.opengamma.strata.collect.TestHelper.coverBeanEquals; import static com.opengamma.strata.collect.TestHelper.coverImmutableBean; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import org.testng.annotations.Test; import com.google.common.collect.ImmutableSet; import com.opengamma.strata.basics.ReferenceData; import com.opengamma.strata.product.swap.ResolvedSwapLeg; /** * Test {@link ResolvedCms}. */ @Test public class ResolvedCmsTest { private static final ReferenceData REF_DATA = ReferenceData.standard(); static final ResolvedCmsLeg CMS_LEG = CmsTest.sutCap().getCmsLeg().resolve(REF_DATA); static final ResolvedSwapLeg PAY_LEG = CmsTest.sutCap().getPayLeg().get().resolve(REF_DATA); //------------------------------------------------------------------------- public void test_of_twoLegs() { ResolvedCms test = sut(); assertEquals(test.getCmsLeg(), CMS_LEG); assertEquals(test.getPayLeg().get(), PAY_LEG); assertEquals(test.allPaymentCurrencies(), ImmutableSet.of(CMS_LEG.getCurrency())); } public void test_of_oneLeg() { ResolvedCms test = ResolvedCms.of(CMS_LEG); assertEquals(test.getCmsLeg(), CMS_LEG); assertFalse(test.getPayLeg().isPresent()); assertEquals(test.allPaymentCurrencies(), ImmutableSet.of(CMS_LEG.getCurrency())); } //------------------------------------------------------------------------- public void coverage() { coverImmutableBean(sut()); coverBeanEquals(sut(), sut2()); } public void test_serialization() { assertSerialization(sut()); } //------------------------------------------------------------------------- static ResolvedCms sut() { return ResolvedCms.of(CMS_LEG, PAY_LEG); } static ResolvedCms sut2() { return ResolvedCms.of(CmsTest.sutFloor().getCmsLeg().resolve(REF_DATA)); } }