Apache.NMS.ActiveMQ.Test.IndividualAckTest.TestLastMessageAcked C# (CSharp) Method

TestLastMessageAcked() private method

private TestLastMessageAcked ( ) : void
return void
        public void TestLastMessageAcked()
        {
            ISession session = connection.CreateSession(AcknowledgementMode.IndividualAcknowledge);
            ITemporaryQueue queue = session.CreateTemporaryQueue();
            IMessageProducer producer = session.CreateProducer(queue);
            ITextMessage msg1 = session.CreateTextMessage("msg1" + Guid.NewGuid().ToString());
            ITextMessage msg2 = session.CreateTextMessage("msg2" + Guid.NewGuid().ToString());
            ITextMessage msg3 = session.CreateTextMessage("msg3" + Guid.NewGuid().ToString());
            producer.Send(msg1);
            producer.Send(msg2);
            producer.Send(msg3);

            // Consume the message...
            IMessageConsumer consumer = session.CreateConsumer(queue);
            ITextMessage ackmsg = consumer.Receive(TimeSpan.FromMilliseconds(1000)) as ITextMessage;
            Assert.IsNotNull(ackmsg);
            Assert.AreEqual(msg1.Text,ackmsg.Text);
            ackmsg = consumer.Receive(TimeSpan.FromMilliseconds(1000)) as ITextMessage;
            Assert.IsNotNull(ackmsg);
            Assert.AreEqual(msg2.Text,ackmsg.Text);
            ackmsg = consumer.Receive(TimeSpan.FromMilliseconds(1000)) as ITextMessage;
            Assert.IsNotNull(ackmsg);
            Assert.AreEqual(msg3.Text,ackmsg.Text);
            ackmsg.Acknowledge();

            // Reset the session.
            session.Close();
            session = connection.CreateSession(AcknowledgementMode.IndividualAcknowledge);

            // Attempt to Consume the message...
            consumer = session.CreateConsumer(queue);
            ackmsg = consumer.Receive(TimeSpan.FromMilliseconds(1000)) as ITextMessage;
            Assert.IsNotNull(ackmsg);
            Assert.AreEqual(msg1.Text,ackmsg.Text);
            ackmsg = consumer.Receive(TimeSpan.FromMilliseconds(1000)) as ITextMessage;
            Assert.IsNotNull(ackmsg);
            Assert.AreEqual(msg2.Text,ackmsg.Text);
            IMessage msg = consumer.Receive(TimeSpan.FromMilliseconds(1000));
            Assert.IsNull(msg);
            session.Close();
        }