/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.currency;
import org.fudgemsg.FudgeContext;
import org.fudgemsg.MutableFudgeMsg;
import org.fudgemsg.mapping.FudgeDeserializer;
import org.fudgemsg.mapping.FudgeSerializer;
import org.testng.AssertJUnit;
import org.testng.annotations.Test;
import com.google.common.collect.ImmutableSet;
import com.opengamma.util.test.TestGroup;
/**
* Test.
*/
@Test(groups = TestGroup.UNIT)
public class CurrencyPairsFudgeBuilderTest {
/**
* Writes an instance of {@link CurrencyPairs} to a Fudge message and reads it back.
*/
@Test
public void roundTrip() {
CurrencyPairs pairs1 = CurrencyPairs.of(ImmutableSet.of(
CurrencyPair.parse("EUR/USD"),
CurrencyPair.parse("GBP/USD"),
CurrencyPair.parse("USD/CAD")));
CurrencyPairsFudgeBuilder builder = new CurrencyPairsFudgeBuilder();
MutableFudgeMsg msg = builder.buildMessage(new FudgeSerializer(FudgeContext.GLOBAL_DEFAULT), pairs1);
AssertJUnit.assertNotNull(msg);
CurrencyPairs pairs2 = builder.buildObject(new FudgeDeserializer(FudgeContext.GLOBAL_DEFAULT), msg);
AssertJUnit.assertEquals(pairs1, pairs2);
}
}