Esempio n. 1
0
        public void Should_Receive_PriceLevelOrderMessages()
        {
            // Arrange
            var message = TestHelper.GetMessageBytes("0,@ESM19,12345678,MD01,A,2938.25,65,10,2,20:31:04.876740,2019-04-23,\r\n");
            TimeSpan.TryParseExact("20:31:04.876740", PriceLevelOrderMessage.UpdateMessageTimeFormat, CultureInfo.InvariantCulture, TimeSpanStyles.None, out var orderTime);
            DateTime.TryParseExact("2019-04-23", PriceLevelOrderMessage.UpdateMessageDateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out var orderDate);
            var expectedMessage = new PriceLevelOrderMessage(Level2MessageType.PriceLevelOrder, "@ESM19", 12345678, "MD01", Level2Side.Sell, 2938.25, 65, 10, 2, orderTime, orderDate);

            PriceLevelOrderMessage receivedMessage = null;
            _level2MessageHandler.PriceLevelOrder += msg =>
            {
                receivedMessage = msg;
            };

            // Act
            _level2MessageHandler.ProcessMessages(message, message.Length);

            // Assert
            Assert.AreEqual(receivedMessage, expectedMessage);
        }
Esempio n. 2
0
        private void ProcessPriceLevelOrderMessage(string msg)
        {
            var priceLevelOrderMessage = PriceLevelOrderMessage.Parse(msg);

            PriceLevelOrder?.Invoke(priceLevelOrderMessage);
        }