/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.security.index; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNull; import java.lang.reflect.Field; import java.util.List; import org.testng.annotations.Test; import com.opengamma.core.id.ExternalSchemes; import com.opengamma.id.ExternalId; import com.opengamma.id.ExternalIdBundle; import com.opengamma.util.test.TestGroup; /** * Tests the fields of the overnight index. This test is intended to pick up any changes to the * overnight index before databases are affected. */ @Test(groups = TestGroup.UNIT) public class OvernightIndexTest { /** The index name */ private static final String NAME = "USD OVERNIGHT"; /** The index description */ private static final String DESCRIPTION = "OVERNIGHT DESCRIPTION"; /** The tickers */ private static final ExternalIdBundle TICKERS = ExternalIdBundle.of(ExternalSchemes.bloombergTickerSecurityId("US0003M Index"), ExternalSchemes.syntheticSecurityId(NAME)); /** The convention id */ private static final ExternalId CONVENTION_ID = ExternalId.of("SCHEME", "USD OVERNIGHT CONVENTION"); /** The index */ private static final OvernightIndex INDEX_NO_DESCRIPTION = new OvernightIndex(NAME, CONVENTION_ID); /** The index */ private static final OvernightIndex INDEX_WITH_DESCRIPTION = new OvernightIndex(NAME, DESCRIPTION, CONVENTION_ID); static { INDEX_NO_DESCRIPTION.setExternalIdBundle(TICKERS); INDEX_WITH_DESCRIPTION.setExternalIdBundle(TICKERS); } /** * Tests that the convention id cannot be null. */ @Test(expectedExceptions = IllegalArgumentException.class) public void testNullConventionId() { new OvernightIndex(NAME, DESCRIPTION, null); } /** * Tests the number of fields in the index. Will pick up additions / removals. */ @Test public void testNumberOfFields() { List<Field> fields = IndexTestUtils.getFields(INDEX_NO_DESCRIPTION.getClass()); assertEquals(14, fields.size()); fields = IndexTestUtils.getFields(INDEX_WITH_DESCRIPTION.getClass()); assertEquals(14, fields.size()); } /** * Tests that fields are set correctly and that fields that should be null are. */ @Test public void test() { assertEquals(NAME, INDEX_NO_DESCRIPTION.getName()); assertEquals(NAME, INDEX_WITH_DESCRIPTION.getName()); assertNull(INDEX_NO_DESCRIPTION.getDescription()); assertEquals(DESCRIPTION, INDEX_WITH_DESCRIPTION.getDescription()); assertEquals(TICKERS, INDEX_NO_DESCRIPTION.getExternalIdBundle()); assertEquals(TICKERS, INDEX_WITH_DESCRIPTION.getExternalIdBundle()); assertEquals(CONVENTION_ID, INDEX_NO_DESCRIPTION.getConventionId()); assertEquals(CONVENTION_ID, INDEX_WITH_DESCRIPTION.getConventionId()); } }