public void ShouldCallDispatcherWhenLimitOrderValidates() { var processor = new IncomingMessageProcessor(ordereRepositoryMock, outgoingQueueMock, dateServiceMock, orderDispatcherMock, serializer); var limitOrder = new LimitOrderDto(); limitOrder.Reeset(); limitOrder.Symbol = "QQQ"; limitOrder.Price = 30; limitOrder.Quantity = 10; limitOrder.ClientId = 1; limitOrder.Way = WayEnum.Sell; var messageBytes = serializer.Serialize(new ClientToServerMessageQueueItem { Message = new ClientToServerMessage { ClientId = 1, LimitOrder = limitOrder, MessageType = ClientToServerMessageTypeEnum.PlaceLimitOrder } }); var queueItem = new RingbufferByteArray(); queueItem.Set(messageBytes); processor.OnNext(queueItem, 1, true); orderDispatcherMock.AssertWasCalled(a => a.HandleAddLimitOrder(Arg <ILimitOrder> .Is.Equal(limitOrder))); }
public void ShouldNotCallDispatcherIfOrderDoesNotValidate() { var processor = new IncomingMessageProcessor(ordereRepositoryMock, outgoingQueueMock, dateServiceMock, orderDispatcherMock, serializer); var invalidLimitOrder = new LimitOrderDto(); invalidLimitOrder.Reeset(); var messageBytes = serializer.Serialize(new ClientToServerMessageQueueItem { Message = new ClientToServerMessage { ClientId = 1, LimitOrder = invalidLimitOrder, MessageType = ClientToServerMessageTypeEnum.PlaceLimitOrder }, }); var queueItem = new RingbufferByteArray(); queueItem.Set(messageBytes); processor.OnNext(queueItem, 1, true); orderDispatcherMock.AssertWasNotCalled(a => a.HandleAddLimitOrder(Arg <ILimitOrder> .Is.Anything)); outgoingQueueMock.AssertWasNotCalled(a => a.EnqueueAddedLimitOrder(Arg <ILimitOrder> .Is.Anything)); }