/* * Copyright (c) 2004-2011 Marco Maccaferri and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Marco Maccaferri - initial API and implementation */ package org.eclipsetrader.core.internal.trading; import junit.framework.TestCase; import org.eclipsetrader.core.trading.OrderChangeEvent; import org.eclipsetrader.core.trading.OrderDelta; import org.eclipsetrader.core.trading.OrderMonitor; public class TradingServiceTest extends TestCase { public void testAddOrdersFromOrderChangedEvent() throws Exception { TradingService service = new TradingService(); assertEquals(0, service.getOrders().length); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_ADDED, new OrderMonitor(null, null)), })); assertEquals(1, service.getOrders().length); } public void testRemoveOrdersFromOrderChangedEvent() throws Exception { TradingService service = new TradingService(); assertEquals(0, service.getOrders().length); OrderMonitor monitor = new OrderMonitor(null, null); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_ADDED, monitor), })); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_REMOVED, monitor), })); assertEquals(0, service.getOrders().length); } public void testDontAddSameOrderTwice() throws Exception { TradingService service = new TradingService(); assertEquals(0, service.getOrders().length); OrderMonitor monitor = new OrderMonitor(null, null); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_ADDED, monitor), })); assertEquals(1, service.getOrders().length); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_ADDED, monitor), })); assertEquals(1, service.getOrders().length); } public void testAddUnknownUpdatedOrdersFromOrderChangedEvent() throws Exception { TradingService service = new TradingService(); assertEquals(0, service.getOrders().length); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_UPDATED, new OrderMonitor(null, null)), })); assertEquals(1, service.getOrders().length); } public void testDontAddSameUpdatedOrderTwice() throws Exception { TradingService service = new TradingService(); assertEquals(0, service.getOrders().length); OrderMonitor monitor = new OrderMonitor(null, null); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_UPDATED, monitor), })); assertEquals(1, service.getOrders().length); service.processOrderChangedEvent(new OrderChangeEvent(null, new OrderDelta[] { new OrderDelta(OrderDelta.KIND_UPDATED, monitor), })); assertEquals(1, service.getOrders().length); } }