summaryrefslogtreecommitdiff
path: root/cpp/broker/test
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2006-10-11 08:24:42 +0000
committerGordon Sim <gsim@apache.org>2006-10-11 08:24:42 +0000
commit4fcd0a1f4d52dffe2c524af06882470dd4a48213 (patch)
tree7639836ccd43e6cf41372856735074fbb9e21443 /cpp/broker/test
parent4b3a1e69274b04888866e3a239854dd061c57f98 (diff)
downloadqpid-python-4fcd0a1f4d52dffe2c524af06882470dd4a48213.tar.gz
Implementation of basic_get.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@462729 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/broker/test')
-rw-r--r--cpp/broker/test/QueueTest.cpp (renamed from cpp/broker/test/queue_test.cpp)47
1 files changed, 44 insertions, 3 deletions
diff --git a/cpp/broker/test/queue_test.cpp b/cpp/broker/test/QueueTest.cpp
index aa423e7e08..973b1b5cf6 100644
--- a/cpp/broker/test/queue_test.cpp
+++ b/cpp/broker/test/QueueTest.cpp
@@ -47,12 +47,14 @@ public:
class QueueTest : public CppUnit::TestCase
{
CPPUNIT_TEST_SUITE(QueueTest);
- CPPUNIT_TEST(testMe);
+ CPPUNIT_TEST(testConsumers);
+ CPPUNIT_TEST(testBinding);
+ CPPUNIT_TEST(testRegistry);
+ CPPUNIT_TEST(testDequeue);
CPPUNIT_TEST_SUITE_END();
public:
- void testMe()
- {
+ void testConsumers(){
Queue::shared_ptr queue(new Queue("my_queue", true, true));
//Test adding consumers:
@@ -82,7 +84,10 @@ class QueueTest : public CppUnit::TestCase
CPPUNIT_ASSERT_EQUAL(u_int32_t(1), queue->getConsumerCount());
queue->cancel(&c2);
CPPUNIT_ASSERT_EQUAL(u_int32_t(0), queue->getConsumerCount());
+ }
+ void testBinding(){
+ Queue::shared_ptr queue(new Queue("my_queue", true, true));
//Test bindings:
TestBinding a;
TestBinding b;
@@ -93,7 +98,9 @@ class QueueTest : public CppUnit::TestCase
CPPUNIT_ASSERT(a.isCancelled());
CPPUNIT_ASSERT(b.isCancelled());
+ }
+ void testRegistry(){
//Test use of queues in registry:
QueueRegistry registry;
registry.declare("queue1", true, true);
@@ -112,6 +119,40 @@ class QueueTest : public CppUnit::TestCase
CPPUNIT_ASSERT(!registry.find("queue2"));
CPPUNIT_ASSERT(!registry.find("queue3"));
}
+
+ void testDequeue(){
+ Queue::shared_ptr queue(new Queue("my_queue", true, true));
+
+ Message::shared_ptr msg1 = Message::shared_ptr(new Message(0, "e", "A", true, true));
+ Message::shared_ptr msg2 = Message::shared_ptr(new Message(0, "e", "B", true, true));
+ Message::shared_ptr msg3 = Message::shared_ptr(new Message(0, "e", "C", true, true));
+ Message::shared_ptr received;
+
+ queue->deliver(msg1);
+ queue->deliver(msg2);
+ queue->deliver(msg3);
+
+ CPPUNIT_ASSERT_EQUAL(u_int32_t(3), queue->getMessageCount());
+
+ received = queue->dequeue();
+ CPPUNIT_ASSERT_EQUAL(msg1.get(), received.get());
+ CPPUNIT_ASSERT_EQUAL(u_int32_t(2), queue->getMessageCount());
+
+ received = queue->dequeue();
+ CPPUNIT_ASSERT_EQUAL(msg2.get(), received.get());
+ CPPUNIT_ASSERT_EQUAL(u_int32_t(1), queue->getMessageCount());
+
+ TestConsumer consumer;
+ queue->consume(&consumer);
+ queue->dispatch();
+ CPPUNIT_ASSERT_EQUAL(msg3.get(), consumer.last.get());
+ CPPUNIT_ASSERT_EQUAL(u_int32_t(0), queue->getMessageCount());
+
+ received = queue->dequeue();
+ CPPUNIT_ASSERT(!received);
+ CPPUNIT_ASSERT_EQUAL(u_int32_t(0), queue->getMessageCount());
+
+ }
};
// Make this test suite a plugin.