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); }
private void ProcessPriceLevelOrderMessage(string msg) { var priceLevelOrderMessage = PriceLevelOrderMessage.Parse(msg); PriceLevelOrder?.Invoke(priceLevelOrderMessage); }