Package com.opengamma.financial.depgraph.rest

Source Code of com.opengamma.financial.depgraph.rest.DependencyGraphTraceBuilderPropertiesTest

package com.opengamma.financial.depgraph.rest;

import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;

import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Set;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.threeten.bp.Instant;
import org.threeten.bp.ZonedDateTime;

import com.google.common.collect.Lists;
import com.opengamma.engine.ComputationTargetSpecification;
import com.opengamma.engine.marketdata.spec.MarketData;
import com.opengamma.engine.marketdata.spec.MarketDataSpecification;
import com.opengamma.engine.marketdata.spec.UserMarketDataSpecification;
import com.opengamma.engine.target.ComputationTargetRequirement;
import com.opengamma.engine.target.ComputationTargetType;
import com.opengamma.engine.value.ValueProperties;
import com.opengamma.engine.value.ValueRequirement;
import com.opengamma.id.ExternalId;
import com.opengamma.id.UniqueId;
import com.opengamma.id.VersionCorrection;

public class DependencyGraphTraceBuilderPropertiesTest {

  @BeforeMethod
  public void beforeMethod() {
  }

  private DependencyGraphTraceBuilderProperties createBuilder() {
    return new DependencyGraphTraceBuilderProperties();
  }

  @Test
  public void valuationTime() {
    final DependencyGraphTraceBuilderProperties builder = createBuilder();
    final Instant i1 = builder.getValuationTime();
    Instant instant = ZonedDateTime.parse("2007-12-03T10:15:30+01:00[Europe/Paris]").toInstant();
    final DependencyGraphTraceBuilderProperties prime = builder.valuationTime(instant);
    final Instant i2 = prime.getValuationTime();
    assertEquals(i1, builder.getValuationTime()); // original unchanged
    assertFalse(Objects.equals(i1, i2));
  }

  @Test
  public void calculationConfigurationName() {
    final DependencyGraphTraceBuilderProperties builder = createBuilder();
    final String c1 = builder.getCalculationConfigurationName();
    final DependencyGraphTraceBuilderProperties prime = builder.calculationConfigurationName("Foo");
    final String c2 = prime.getCalculationConfigurationName();
    assertEquals(c1, builder.getCalculationConfigurationName()); // original unchanged
    assertFalse(c1.equals(c2));
  }

  @Test
  public void defaultProperties() {
    ValueProperties valueProperties = ValueProperties.parse("A=[foo,bar],B=*");
    final DependencyGraphTraceBuilderProperties builder = createBuilder();
    final ValueProperties p1 = builder.getDefaultProperties();
    final DependencyGraphTraceBuilderProperties prime = builder.defaultProperties(valueProperties);
    final ValueProperties p2 = prime.getDefaultProperties();
    assertEquals(p1, builder.getDefaultProperties()); // original unchanged
    assertFalse(p1.equals(p2));
  }

  @Test
  public void addRequirement() {

    final ComputationTargetSpecification target = ComputationTargetSpecification.of(UniqueId.of("Scheme", "PrimitiveValue"));
    final ValueRequirement vr1 = new ValueRequirement("Value1", target);
    final ValueRequirement vr2 = new ValueRequirement("Value2", target);

    final DependencyGraphTraceBuilderProperties builder = createBuilder();
    final Collection<ValueRequirement> r1 = builder.getRequirements();
    final DependencyGraphTraceBuilderProperties prime = builder.addRequirement(vr1);
    final Collection<ValueRequirement> r2 = prime.getRequirements();
    final DependencyGraphTraceBuilderProperties prime2 = prime.addRequirement(vr2);
    final Collection<ValueRequirement> r3 = prime2.getRequirements();
    assertEquals(r1, builder.getRequirements()); // original unchanged
    assertEquals(r2, prime.getRequirements()); // unchanged
    assertEquals(r1.size(), 0);
    assertEquals(r2.size(), 1);
    assertEquals(r3.size(), 2);
  }

  @Test
  public void marketData() {
    String snapshotId = "Foo~1";
    List<MarketDataSpecification> marketData = Lists.<MarketDataSpecification>newArrayList(MarketData.user(UniqueId.parse(snapshotId)));

    final DependencyGraphTraceBuilderProperties builder1 = createBuilder();
    List<MarketDataSpecification> defaultMD = builder1.getMarketData();
    final DependencyGraphTraceBuilderProperties builder2 = builder1.marketData(marketData);

    assertEquals(defaultMD, builder1.getMarketData());
    assertEquals(marketData, builder2.getMarketData());

  }

  @Test
  public void addMarketData() {
    String snapshotId = "Foo~1";
    UserMarketDataSpecification marketData = MarketData.user(UniqueId.parse(snapshotId));

    final DependencyGraphTraceBuilderProperties builder1 = createBuilder();
    List<MarketDataSpecification> defaultMD = builder1.getMarketData();
    final DependencyGraphTraceBuilderProperties builder2 = builder1.addMarketData(marketData);

    assertEquals(defaultMD, builder1.getMarketData());
    assertEquals(Lists.newArrayList(marketData), builder2.getMarketData());

  }

  @Test
  public void requirements() {
    Set<ValueRequirement> requirements = Collections.singleton(new ValueRequirement("testValue", new ComputationTargetRequirement(ComputationTargetType.POSITION, ExternalId.of("GOLDMAN", "FOO1"))));

    final DependencyGraphTraceBuilderProperties builder1 = createBuilder();
    Collection<ValueRequirement> defaultRequirements = builder1.getRequirements();
    final DependencyGraphTraceBuilderProperties builder2 = builder1.requirements(requirements);

    assertEquals(defaultRequirements, builder1.getRequirements());
    assertEquals(requirements, builder2.getRequirements());
  }

  @Test
  public void resolutionTime() {
    String rtStr = "V1970-01-01T00:00:01Z.CLATEST";
    VersionCorrection rt = VersionCorrection.parse(rtStr);

    final DependencyGraphTraceBuilderProperties builder1 = createBuilder();
    VersionCorrection defaultVC = builder1.getResolutionTime();
    final DependencyGraphTraceBuilderProperties builder2 = builder1.resolutionTime(rt);

    assertEquals(defaultVC, builder1.getResolutionTime());
    assertEquals(rt, builder2.getResolutionTime());
  }
}
TOP

Related Classes of com.opengamma.financial.depgraph.rest.DependencyGraphTraceBuilderPropertiesTest

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.