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

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

/**
* 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 java.util.List;

import org.fudgemsg.MutableFudgeMsg;
import org.fudgemsg.mapping.FudgeDeserializer;
import org.fudgemsg.mapping.FudgeSerializer;
import org.testng.annotations.Test;

import com.opengamma.engine.fudgemsg.ArbitraryViewCycleExecutionSequenceFudgeBuilder;
import com.opengamma.engine.marketdata.manipulator.CompositeMarketDataSelector;
import com.opengamma.engine.marketdata.manipulator.MarketDataSelector;
import com.opengamma.engine.view.execution.ArbitraryViewCycleExecutionSequence;
import com.opengamma.engine.view.execution.ViewCycleExecutionOptions;
import com.opengamma.util.fudgemsg.OpenGammaFudgeContext;

public class SimulationToolFudgeTest {

  /**
   * tests a specific fudge related bug when trying to run the simulation tool against a remote server.
   * it only occurs when there are two or more scenarios in the simulation
   */
  @Test
  public void roundTrip() {
    Simulation simulation = new Simulation("test simulation");
    simulation.scenario("scenario1").curve().named("foo").apply().parallelShift(0.1);
    simulation.scenario("scenario2").curve().named("bar").apply().parallelShift(0.1);
    MarketDataSelector selector = CompositeMarketDataSelector.of(simulation.allSelectors());
    ViewCycleExecutionOptions options = ViewCycleExecutionOptions.builder().setMarketDataSelector(selector).create();
    List<ViewCycleExecutionOptions> optionsList = simulation.cycleExecutionOptions(options, simulation.allSelectors());
    ArbitraryViewCycleExecutionSequence sequence = new ArbitraryViewCycleExecutionSequence(optionsList);
    FudgeSerializer serializer = new FudgeSerializer(OpenGammaFudgeContext.getInstance());
    ArbitraryViewCycleExecutionSequenceFudgeBuilder fudgeBuilder = new ArbitraryViewCycleExecutionSequenceFudgeBuilder();
    MutableFudgeMsg msg = fudgeBuilder.buildMessage(serializer, sequence);
    FudgeDeserializer deserializer = new FudgeDeserializer(OpenGammaFudgeContext.getInstance());
    fudgeBuilder.buildObject(deserializer, msg);
  }
}
TOP

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

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.