public void TwoTradesMatchingProducesTwoMatchNotifications()
        {
            var matcher = new StandardOrderMatcher();
            var orderRepository = new StandardOrderRepository(matcher);
            var matchRecorder = new MatchRecorder();
            orderRepository.OrdersMatched += matchRecorder.OnMatch;

            var ask = FakeOrder.CreateOrderFromString(1, "Limit;TEST;Ask;10@10");
            var bid = FakeOrder.CreateOrderFromString(1, "Limit;TEST;Bid;10@10");

            AddOrderToRepository(ask, orderRepository);
            AddOrderToRepository(bid, orderRepository);

            orderRepository.MatchOrders(bid.Contract);

            Assert.AreEqual(1, matchRecorder.Matches.Count);
            var matches = matchRecorder.Matches[0];
            Assert.AreEqual(2, matches.OrderMatches.Count());
        }
        public void TwoTradesMatchingProducesTwoMatchNotifications()
        {
            var matcher         = new StandardOrderMatcher();
            var orderRepository = new StandardOrderRepository(matcher);
            var matchRecorder   = new MatchRecorder();

            orderRepository.OrdersMatched += matchRecorder.OnMatch;

            var ask = FakeOrder.CreateOrderFromString(1, "Limit;TEST;Ask;10@10");
            var bid = FakeOrder.CreateOrderFromString(1, "Limit;TEST;Bid;10@10");

            AddOrderToRepository(ask, orderRepository);
            AddOrderToRepository(bid, orderRepository);

            orderRepository.MatchOrders(bid.Contract);

            Assert.AreEqual(1, matchRecorder.Matches.Count);
            var matches = matchRecorder.Matches[0];

            Assert.AreEqual(2, matches.OrderMatches.Count());
        }