package org.marketcetera.messagehistory; import static org.junit.Assert.assertEquals; import java.math.BigDecimal; import org.junit.Test; import org.marketcetera.quickfix.FIXVersion; import org.marketcetera.trade.BrokerID; import org.marketcetera.trade.Equity; import org.marketcetera.trade.ExecutionReport; import org.marketcetera.trade.Factory; import org.marketcetera.trade.MessageCreationException; import org.marketcetera.trade.OrderID; import org.marketcetera.trade.Originator; import quickfix.FieldNotFound; import quickfix.Message; import quickfix.field.OrdStatus; import quickfix.field.Side; /* $License$ */ /** * Tests {@link ReportHolder}. * * @author <a href="mailto:will@marketcetera.com">Will Horn</a> * @version $Id: ReportHolderTest.java 16154 2012-07-14 16:34:05Z colin $ * @since 1.0.0 */ public class ReportHolderTest { @Test public void testGetMessage() throws Exception { Message message = createMessage(); ExecutionReport report = createReport(message); ReportHolder holder = new ReportHolder(report, null); assertEquals(message, holder.getMessage()); } @Test public void testGetUnderlying() throws Exception { assertEquals("ABC", new ReportHolder(createReport(createMessage()), "ABC").getUnderlying()); assertEquals("123", new ReportHolder(createReport(createMessage()), "123", new OrderID("1")).getUnderlying()); } private Message createMessage() throws FieldNotFound { Message message = FIXVersion.FIX42.getMessageFactory() .newExecutionReport("asdf", "asdf", "asdf", OrdStatus.CANCELED, Side.BUY, BigDecimal.TEN, BigDecimal.ONE, BigDecimal.ONE, BigDecimal.ONE, BigDecimal.ONE, BigDecimal.ONE, new Equity("123"), "asdf", "text"); return message; } private ExecutionReport createReport(Message message) throws MessageCreationException { ExecutionReport report = Factory.getInstance().createExecutionReport( message, new BrokerID("ABC"), Originator.Server, null, null); return report; } }