/// <summary>
        /// Start reading for input data
        /// </summary>
        private void ReadInput()
        {
            while (_isConnected)
            {
                {
                    ConsoleWriter.WriteLine(ConsoleColor.Green, "Enter Input");
                    string response = ConsoleWriter.Prompt();
                    if (response != null)
                    {
                        if (response.ToLower().Equals("exit"))
                        {
                            Stop();
                            break;
                        }

                        // Process incoming message
                        switch (response.Trim().ToLower())
                        {
                        case "help":
                            _orderProcessor.DisplayHelp();
                            break;

                        case "info new":
                            _orderProcessor.DisplayOrdersInfo(_newOrders, "received");
                            break;

                        case "info accepted":
                            _orderProcessor.DisplayOrdersInfo(_acceptedOrders, "accepted");
                            break;

                        case "info filled":
                            _orderProcessor.DisplayOrdersInfo(_filledOrders, "filled");
                            break;

                        default:
                            _orderProcessor.ProcessIncomingMessage(response);
                            break;
                        }
                    }
                }
            }
        }
        public void NewArrivedTestCase()
        {
            string sampleInput = "N ID";

            bool newArrived     = false;
            var  manualNewEvent = new ManualResetEvent(false);

            _orderProcessor.NewArrived +=
                delegate(Order obj)
            {
                newArrived = true;
                manualNewEvent.Set();
            };

            _orderProcessor.ProcessIncomingMessage(sampleInput);
            manualNewEvent.WaitOne(3000, false);

            Assert.AreEqual(true, newArrived, "New Recieved from Simulated Order Processor");
        }