diff options
| author | Gordon Sim <gsim@apache.org> | 2006-10-11 08:24:42 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2006-10-11 08:24:42 +0000 |
| commit | 4fcd0a1f4d52dffe2c524af06882470dd4a48213 (patch) | |
| tree | 7639836ccd43e6cf41372856735074fbb9e21443 /cpp/broker/test | |
| parent | 4b3a1e69274b04888866e3a239854dd061c57f98 (diff) | |
| download | qpid-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. |
