Package com.opengamma.integration.marketdata.manipulator.dsl

Source Code of com.opengamma.integration.marketdata.manipulator.dsl.MarketDataSpecificationParserTest

/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.integration.marketdata.manipulator.dsl;

import static org.testng.AssertJUnit.assertEquals;

import org.testng.annotations.Test;
import org.threeten.bp.LocalDate;

import com.opengamma.engine.marketdata.spec.FixedHistoricalMarketDataSpecification;
import com.opengamma.engine.marketdata.spec.LatestHistoricalMarketDataSpecification;
import com.opengamma.engine.marketdata.spec.LiveMarketDataSpecification;
import com.opengamma.engine.marketdata.spec.MarketDataSpecification;
import com.opengamma.engine.marketdata.spec.UserMarketDataSpecification;
import com.opengamma.id.UniqueId;
import com.opengamma.util.test.TestGroup;

@Test(groups = TestGroup.UNIT)
public class MarketDataSpecificationParserTest {

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void unknownType() {
    MarketDataSpecificationParser.parse("foo:bar");
  }

  @Test
  public void liveValid() {
    MarketDataSpecification spec = MarketDataSpecificationParser.parse("live:sourceName");
    assertEquals(new LiveMarketDataSpecification("sourceName"), spec);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void liveMissing1() {
    MarketDataSpecificationParser.parse("live");
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void liveMissing2() {
    MarketDataSpecificationParser.parse("live:");
  }

  @Test
  public void snapshotValid() {
    MarketDataSpecification spec = MarketDataSpecificationParser.parse("snapshot:scheme~value~version");
    assertEquals(new UserMarketDataSpecification(UniqueId.of("scheme", "value", "version")), spec);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void snapshotMissing1() {
    MarketDataSpecificationParser.parse("snapshot");
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void snapshotMissing2() {
    MarketDataSpecificationParser.parse("snapshot:");
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void snapshotInvalidId() {
    MarketDataSpecificationParser.parse("snapshot:invalidIdFormat");
  }

  @Test
  public void fixedHistoricalValid() {
    MarketDataSpecification specNoRating = MarketDataSpecificationParser.parse("fixedhistorical:2011-03-08");
    LocalDate date = LocalDate.of(2011, 3, 8);
    assertEquals(new FixedHistoricalMarketDataSpecification(date), specNoRating);
    MarketDataSpecification specWithRating =
        MarketDataSpecificationParser.parse("fixedhistorical:2011-03-08,RATING_NAME");
    assertEquals(new FixedHistoricalMarketDataSpecification("RATING_NAME", date), specWithRating);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void fixedHistoricalMissing1() {
    MarketDataSpecificationParser.parse("fixedhistorical");
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void fixedHistoricalMissing2() {
    MarketDataSpecificationParser.parse("fixedhistorical:");
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void fixedHistoricalInvalidDate1() {
    MarketDataSpecificationParser.parse("fixedhistorical:123456");
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void fixedHistoricalInvalidDate2() {
    MarketDataSpecificationParser.parse("fixedhistorical:123456,RATING_NAME");
  }

  @Test
  public void latestHistoricalValid() {
    MarketDataSpecification specNoRating = MarketDataSpecificationParser.parse("latesthistorical");
    assertEquals(new LatestHistoricalMarketDataSpecification(), specNoRating);
    MarketDataSpecification specWithRating = MarketDataSpecificationParser.parse("latesthistorical:RATING_NAME");
    assertEquals(new LatestHistoricalMarketDataSpecification("RATING_NAME"), specWithRating);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void latestHistoricalMissing() {
    MarketDataSpecificationParser.parse("latesthistorical:");
  }
}
TOP

Related Classes of com.opengamma.integration.marketdata.manipulator.dsl.MarketDataSpecificationParserTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.