/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.fudgemsg; import java.math.BigDecimal; import org.testng.annotations.Test; import com.opengamma.core.position.impl.SimplePosition; import com.opengamma.engine.ComputationTarget; import com.opengamma.engine.ComputationTargetSpecification; import com.opengamma.engine.target.ComputationTargetType; import com.opengamma.id.ExternalId; import com.opengamma.id.UniqueId; import com.opengamma.util.test.AbstractFudgeBuilderTestCase; import com.opengamma.util.test.TestGroup; /** * Tests the {@link ComputationTargetFudgeBuilder} class. */ @Test(groups = TestGroup.UNIT) public class ComputationTargetFudgeBuilderTest extends AbstractFudgeBuilderTestCase { public void testNull() { assertEncodeDecodeCycle(ComputationTarget.class, ComputationTarget.NULL); } public void testBasic() { assertEncodeDecodeCycle(ComputationTarget.class, new ComputationTarget(ComputationTargetType.POSITION, new SimplePosition(UniqueId.of("Pos", "Foo"), BigDecimal.ONE, ExternalId.of("Sec", "Bar")))); } public void testNested_1() { assertEncodeDecodeCycle(ComputationTarget.class, new ComputationTarget( new ComputationTargetSpecification(ComputationTargetType.PORTFOLIO_NODE, UniqueId.of("Prt", "Foo")).containing(ComputationTargetType.POSITION, UniqueId.of("Pos", "Foo")), new SimplePosition(UniqueId.of("Pos", "Foo"), BigDecimal.ONE, ExternalId.of("Sec", "Bar")))); } public void testNested_2() { assertEncodeDecodeCycle( ComputationTarget.class, new ComputationTarget( new ComputationTargetSpecification(ComputationTargetType.PORTFOLIO_NODE, UniqueId.of("Prt", "Foo")).containing(ComputationTargetType.PORTFOLIO_NODE, UniqueId.of("Prt", "Bar")).containing( ComputationTargetType.POSITION, UniqueId.of("Pos", "Foo")), new SimplePosition(UniqueId.of("Pos", "Foo"), BigDecimal.ONE, ExternalId.of("Sec", "Bar")))); } }