Package com.opengamma.engine.fudgemsg

Source Code of com.opengamma.engine.fudgemsg.AvailableOutputsBuilderTest

/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.fudgemsg;

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

import java.util.Arrays;
import java.util.HashSet;

import org.testng.annotations.Test;

import com.opengamma.engine.value.ValueProperties;
import com.opengamma.engine.view.helper.AvailableOutput;
import com.opengamma.engine.view.helper.AvailableOutputs;
import com.opengamma.engine.view.helper.AvailableOutputsImpl;
import com.opengamma.util.test.AbstractFudgeBuilderTestCase;
import com.opengamma.util.test.TestGroup;

/**
* Tests {@link AvailableOutputsFudgeBuilder}
*/
@Test(groups = TestGroup.UNIT)
public class AvailableOutputsBuilderTest extends AbstractFudgeBuilderTestCase {

  public void testCycleEmptyObject() {
    final AvailableOutputsImpl outputs = new AvailableOutputsImpl();
    final AvailableOutputs cycled = cycleObject(AvailableOutputs.class, outputs);
    assertTrue(cycled.getOutputs().isEmpty());
    assertTrue(cycled.getPortfolioNodeOutputs().isEmpty());
    assertTrue(cycled.getPositionOutputs().isEmpty());
    assertTrue(cycled.getSecurityTypes().isEmpty());
  }

  public void testCyclePopulatedObject() {
    final AvailableOutputsImpl outputs = new AvailableOutputsImpl();
    outputs.portfolioNodeOutput("V", ValueProperties.with("P", "A", "B").get());
    outputs.positionOutput("V", "Swap", ValueProperties.with("P", "A", "C").get());
    outputs.positionOutput("V", "Option", ValueProperties.with("P", "A", "D").get());
    final AvailableOutputs cycled = cycleObject(AvailableOutputs.class, outputs);
    assertEquals(cycled.getOutputs().size(), 1);
    AvailableOutput output = cycled.getOutputs().iterator().next();
    assertEquals(output.getValueName(), "V");
    assertEquals(output.getProperties(), ValueProperties.with("P", "A", "B", "C", "D").get());
    assertEquals(output.getSecurityTypes(), new HashSet<String>(Arrays.asList("Swap", "Option")));
    assertEquals(output.getPositionProperties("Swap"), ValueProperties.with("P", "A", "C").get());
    assertEquals(output.getPositionProperties("Option"), ValueProperties.with("P", "A", "D").get());
    assertEquals(output.getPortfolioNodeProperties(), ValueProperties.with("P", "A", "B").get());
    assertEquals(cycled.getPortfolioNodeOutputs().size(), 1);
    output = cycled.getPortfolioNodeOutputs().iterator().next();
    assertEquals(output.getValueName(), "V");
    assertEquals(output.getProperties(), ValueProperties.with("P", "A", "B").get());
    assertEquals(output.getPortfolioNodeProperties(), ValueProperties.with("P", "A", "B").get());
    assertEquals(cycled.getPositionOutputs().size(), 1);
    output = cycled.getPositionOutputs().iterator().next();
    assertEquals(output.getValueName(), "V");
    assertEquals(output.getProperties(), ValueProperties.with("P", "A", "C", "D").get());
    assertEquals(output.getSecurityTypes(), new HashSet<String>(Arrays.asList("Swap", "Option")));
    assertEquals(output.getPositionProperties("Swap"), ValueProperties.with("P", "A", "C").get());
    assertEquals(output.getPositionProperties("Option"), ValueProperties.with("P", "A", "D").get());
    assertEquals(cycled.getPositionOutputs("Swap").size(), 1);
    output = cycled.getPositionOutputs("Swap").iterator().next();
    assertEquals(output.getValueName(), "V");
    assertEquals(output.getProperties(), ValueProperties.with("P", "A", "C").get());
    assertEquals(output.getSecurityTypes(), new HashSet<String>(Arrays.asList("Swap")));
    assertEquals(cycled.getPositionOutputs("Option").size(), 1);
    output = cycled.getPositionOutputs("Option").iterator().next();
    assertEquals(output.getValueName(), "V");
    assertEquals(output.getProperties(), ValueProperties.with("P", "A", "D").get());
    assertEquals(output.getSecurityTypes(), new HashSet<String>(Arrays.asList("Option")));
  }

}
TOP

Related Classes of com.opengamma.engine.fudgemsg.AvailableOutputsBuilderTest

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.