Example #1
0
        public void TestIsInOrderMessageId()
        {
            int count = 10000;
            ActiveMQMessageAudit audit = new ActiveMQMessageAudit();
            List <MessageId>     list  = new List <MessageId>();

            ProducerId pid = new ProducerId();

            pid.ConnectionId = "test";
            pid.SessionId    = 0;
            pid.Value        = 1;

            for (int i = 0; i < count; i++)
            {
                MessageId id = new MessageId();
                id.ProducerId         = pid;
                id.ProducerSequenceId = i;

                if (i == 0)
                {
                    Assert.IsFalse(audit.IsDuplicate(id));
                    Assert.IsTrue(audit.IsInOrder(id));
                }
                if (i > 1 && i % 2 != 0)
                {
                    list.Add(id);
                }
            }

            for (int i = 0; i < list.Count; i++)
            {
                MessageId mid = list[i];
                Assert.IsFalse(audit.IsInOrder(mid), "Out of order msg: " + mid.ToString());
                Assert.IsFalse(audit.IsDuplicate(mid));
            }
        }