public void TestRecvRecvCommit(
[Values(AcknowledgementMode.AutoAcknowledge, AcknowledgementMode.Transactional)]
AcknowledgementMode ackMode)
{
ISession session = connection.CreateSession(ackMode);
IMessageProducer producer = session.CreateProducer(queue);
producer.Send(session.CreateTextMessage("Msg1"));
producer.Send(session.CreateTextMessage("Msg2"));
if(session.Transacted)
{
session.Commit();
}
// now lets Receive it
IMessageConsumer consumer = session.CreateConsumer(queue);
ITextMessage answer = (ITextMessage)consumer.ReceiveNoWait();
Assert.AreEqual(answer.Text, "Msg1", "Should have received a message!");
answer = (ITextMessage)consumer.ReceiveNoWait();
Assert.AreEqual(answer.Text, "Msg2", "Should have received a message!");
if(session.Transacted)
{
session.Commit();
}
answer = (ITextMessage)consumer.ReceiveNoWait();
Assert.IsNull(answer, "Should have not received a message!");
}