Apache.NMS.ActiveMQ.Test.QueueBrowserTests.TestBrowseReceive C# (CSharp) Метод

TestBrowseReceive() приватный Метод

private TestBrowseReceive ( ) : void
Результат void
        public void TestBrowseReceive()
        {
            using (IConnection connection = CreateConnection())
            {
                using (ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge))
                {
                    IDestination destination = session.GetQueue("TestBrowseReceive");

                    connection.Start();

                    using(IMessageConsumer purger = session.CreateConsumer(destination))
                    {
                        // lets consume any outstanding messages from previous test runs
                        while(purger.Receive(TimeSpan.FromMilliseconds(1000)) != null)
                        {
                        }

                        purger.Close();
                    }

                    IMessage[] outbound = new IMessage[]{session.CreateTextMessage("First Message"),
                                                         session.CreateTextMessage("Second Message"),
                                                         session.CreateTextMessage("Third Message")};

                    IMessageProducer producer = session.CreateProducer(destination);
                    producer.Send(outbound[0]);

                    // create browser first
                    IQueueBrowser browser = session.CreateBrowser((IQueue)destination);
                    IEnumerator enumeration = browser.GetEnumerator();

                    // create consumer
                    IMessageConsumer consumer = session.CreateConsumer(destination);

                    // browse the first message
                    Assert.IsTrue(enumeration.MoveNext(), "should have received the first message");
                    Assert.AreEqual(((ITextMessage)outbound[0]).Text, ((ITextMessage)enumeration.Current).Text);

                    // Receive the first message.
                    Assert.AreEqual(((ITextMessage)outbound[0]).Text, ((ITextMessage)consumer.Receive(TimeSpan.FromMilliseconds(1000))).Text);
                    consumer.Close();
                    browser.Close();
                    producer.Close();
                }
            }
        }