/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.view.server; import static org.testng.AssertJUnit.assertEquals; import org.fudgemsg.FudgeContext; import org.fudgemsg.FudgeMsgEnvelope; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import com.opengamma.engine.target.ComputationTargetType; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.engine.view.NumberDeltaComparer; import com.opengamma.engine.view.ResultOutputMode; import com.opengamma.engine.view.ViewCalculationConfiguration; import com.opengamma.engine.view.ViewDefinition; import com.opengamma.id.UniqueId; import com.opengamma.util.fudgemsg.OpenGammaFudgeContext; import com.opengamma.util.test.TestGroup; /** * Tests ViewDefinitionBuilder, which is particularly complex. */ @Test(groups = TestGroup.UNIT) public class ViewDefinitionBuilderTest { private FudgeContext _fudgeContext; @BeforeMethod public void setup() { _fudgeContext = OpenGammaFudgeContext.getInstance(); } public void testSerializationCycle() { ViewDefinition viewDef = new ViewDefinition("Test View", UniqueId.of("Test Scheme", "Port1"), "someuser"); viewDef.setMaxDeltaCalculationPeriod(1000L); viewDef.setMaxFullCalculationPeriod(60000L); viewDef.getResultModelDefinition().setAggregatePositionOutputMode(ResultOutputMode.TERMINAL_OUTPUTS); ViewCalculationConfiguration calcConfig = new ViewCalculationConfiguration(viewDef, "Test config"); calcConfig.addPortfolioRequirementName("SecType", "Req1"); calcConfig.addPortfolioRequirementName("SecType", "Req2"); calcConfig.addPortfolioRequirementName("SecType2", "Req1"); calcConfig.addSpecificRequirement(new ValueRequirement("Req3", ComputationTargetType.PRIMITIVE, UniqueId.of("Scheme2", "USD"))); calcConfig.getDeltaDefinition().setNumberComparer(new NumberDeltaComparer(2)); viewDef.addViewCalculationConfiguration(calcConfig); FudgeMsgEnvelope viewDefMsg = _fudgeContext.toFudgeMsg(viewDef); ViewDefinition deserializedViewDef = _fudgeContext.fromFudgeMsg(ViewDefinition.class, viewDefMsg.getMessage()); assertEquals(viewDef, deserializedViewDef); } }