public RegisterDeleteNotificationHandler ( Action |
||
handler | Action |
|
return | void |
public void ShouldRegisterDeleteHandlerAndRaiseDeleteEvent() { var receivedDeletedOrders = new List<ILimitOrder>(); var newOrder = new LimitOrder("ABC", 10, 99.22d, WayEnum.Buy, 3); newOrder.RegisterDeleteNotificationHandler(receivedDeletedOrders.Add); newOrder.Delete(); Assert.AreEqual(1, receivedDeletedOrders.Count); }
public ILimitOrder NewLimitOrder(string symbol, int clientId, double price, int quantity, WayEnum way) { if (!ClientOrders.ContainsKey(clientId)) ClientOrders.Add(clientId, new EditableList<ILimitOrder>()); ILimitOrder toReturn = new LimitOrder(symbol, quantity, price, way, clientId); toReturn.SetExchangeOrderId(globalItemCounter); LimitOrders.Add(toReturn.ExchangeOrderId, toReturn); ClientOrders[clientId].Add(toReturn); toReturn.RegisterDeleteNotificationHandler(HandleDeletedLimitOrder); toReturn.RegisterFilledNotification(HandleDeletedLimitOrder); globalItemCounter++; return toReturn; }
public void ShouldUnregisterAllHandlersOnDelete() { var receivedDeletedOrders = new List<ILimitOrder>(); var receivedModifyOrders = new List<ILimitOrder>(); var newOrder = new LimitOrder("ABC", 10, 99.22d, WayEnum.Buy, 3); Action<ILimitOrder, int, double> modifyEventHandler; modifyEventHandler = (order, oldQuantity, oldPrice) => { receivedModifyOrders.Add(order); }; newOrder.RegisterDeleteNotificationHandler(receivedDeletedOrders.Add); newOrder.RegisterModifyNotificationHandler(modifyEventHandler); newOrder.Delete(); newOrder.Modify(90,20); newOrder.Delete(); Assert.AreEqual(1, receivedDeletedOrders.Count); Assert.AreEqual(0, receivedModifyOrders.Count); }