Package com.opengamma.financial.currency

Source Code of com.opengamma.financial.currency.CurrencyPairFudgeSecondaryTypeTest

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

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

import org.fudgemsg.FudgeContext;
import org.fudgemsg.FudgeField;
import org.fudgemsg.FudgeMsg;
import org.fudgemsg.MutableFudgeMsg;
import org.fudgemsg.wire.FudgeMsgReader;
import org.fudgemsg.wire.FudgeMsgWriter;
import org.testng.AssertJUnit;
import org.testng.annotations.Test;

import com.opengamma.util.fudgemsg.OpenGammaFudgeContext;
import com.opengamma.util.test.TestGroup;

/**
* Test.
*/
@Test(groups = TestGroup.UNIT)
public class CurrencyPairFudgeSecondaryTypeTest {

  private static final String CURRENCY_PAIR = "currencyPair";

  /**
   * Writes a {@link CurrencyPair} to a Fudge message and reads it back.
   */
  @Test
  public void roundTrip() {
    FudgeContext context = OpenGammaFudgeContext.getInstance();
    CurrencyPair eurUsd = CurrencyPair.parse("EUR/USD");
    MutableFudgeMsg msg = context.newMessage();
    msg.add(CURRENCY_PAIR, eurUsd);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    FudgeMsgWriter writer = context.createMessageWriter(baos);
    writer.writeMessage(msg);
    writer.close();

    ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
    FudgeMsgReader reader = context.createMessageReader(bais);
    FudgeMsg rebuiltMsg = reader.nextMessage();
    AssertJUnit.assertNotNull(rebuiltMsg);
    FudgeField currencyPairField = rebuiltMsg.getByName(CURRENCY_PAIR);
    AssertJUnit.assertNotNull(currencyPairField);
    AssertJUnit.assertEquals(String.class, currencyPairField.getType().getJavaType());
    CurrencyPair currencyPair = rebuiltMsg.getFieldValue(CurrencyPair.class, currencyPairField);
    AssertJUnit.assertEquals(eurUsd, currencyPair);
  }
}
TOP

Related Classes of com.opengamma.financial.currency.CurrencyPairFudgeSecondaryTypeTest

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.