public void TestIncomingMessageQueue()
		{
			var processed = new List<MessageSet>();
			var testQueue = new IncomingMessageQueue(processed.Add);

			var testSets = new[]
			{
				new MessageSet {Number = 2},
				new MessageSet {Number = 1},
				new MessageSet {Number = 3},
				new MessageSet {Number = 4},
				new MessageSet {Number = 5},
				new MessageSet {Number = 7},
				new MessageSet {Number = 8},
				new MessageSet {Number = 6},
				new MessageSet {Number = 9},
				new MessageSet {Number = 10}
			};

			foreach (var messageSet in testSets)
				testQueue.ProcessMessageSet(messageSet);

			Assert.AreEqual(processed.Count, 10);

			int numberTest = 1;
			foreach (var eventSet in processed)
				Assert.AreEqual(eventSet.Number, numberTest++);

			Assert.AreEqual(testQueue.NextMessageSetNumber, 11);
		}
        public void TestIncomingMessageQueue()
        {
            var processed = new List <MessageSet>();
            var testQueue = new IncomingMessageQueue(processed.Add);

            var testSets = new[]
            {
                new MessageSet {
                    Number = 2
                },
                new MessageSet {
                    Number = 1
                },
                new MessageSet {
                    Number = 3
                },
                new MessageSet {
                    Number = 4
                },
                new MessageSet {
                    Number = 5
                },
                new MessageSet {
                    Number = 7
                },
                new MessageSet {
                    Number = 8
                },
                new MessageSet {
                    Number = 6
                },
                new MessageSet {
                    Number = 9
                },
                new MessageSet {
                    Number = 10
                }
            };

            foreach (var messageSet in testSets)
            {
                testQueue.ProcessMessageSet(messageSet);
            }

            Assert.AreEqual(processed.Count, 10);

            int numberTest = 1;

            foreach (var eventSet in processed)
            {
                Assert.AreEqual(eventSet.Number, numberTest++);
            }

            Assert.AreEqual(testQueue.NextMessageSetNumber, 11);
        }