diff options
Diffstat (limited to 'cpp/src/tests')
-rw-r--r-- | cpp/src/tests/BrokerChannelTest.cpp | 6 | ||||
-rw-r--r-- | cpp/src/tests/Handler.cpp | 67 | ||||
-rw-r--r-- | cpp/src/tests/InProcessBroker.h | 12 | ||||
-rw-r--r-- | cpp/src/tests/Makefile.am | 4 | ||||
-rw-r--r-- | cpp/src/tests/MockChannel.h | 6 |
5 files changed, 12 insertions, 83 deletions
diff --git a/cpp/src/tests/BrokerChannelTest.cpp b/cpp/src/tests/BrokerChannelTest.cpp index 19841dc18d..9dee1fc862 100644 --- a/cpp/src/tests/BrokerChannelTest.cpp +++ b/cpp/src/tests/BrokerChannelTest.cpp @@ -31,7 +31,7 @@ #include "MockChannel.h" #include "qpid/broker/Connection.h" #include "qpid/framing/ProtocolInitiation.h" -#include <boost/ptr_container/ptr_vector.hpp> +#include <vector> using namespace boost; using namespace qpid::broker; @@ -41,9 +41,9 @@ using std::string; using std::queue; struct MockHandler : ConnectionOutputHandler{ - boost::ptr_vector<AMQFrame> frames; + std::vector<AMQFrame> frames; - void send(AMQFrame* frame){ frames.push_back(frame); } + void send(AMQFrame& frame){ frames.push_back(frame); } void close() {}; }; diff --git a/cpp/src/tests/Handler.cpp b/cpp/src/tests/Handler.cpp deleted file mode 100644 index 6725394be8..0000000000 --- a/cpp/src/tests/Handler.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * - * Copyright (c) 2006 The Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -#define BOOST_AUTO_TEST_MAIN // Must come before #include<boost/test/*> -#include <boost/test/auto_unit_test.hpp> - -#include "qpid/framing/AMQFrame.h" -#include "qpid/framing/FrameHandler.h" -#include "test_tools.h" -#include <boost/assign.hpp> - -using namespace std; -using namespace qpid; -using namespace qpid::framing; -using namespace boost::assign; - -typedef int DummyFrame; -typedef int DummyContext; -vector<int> handledBy; - -/** Both a link and a terminal handler. */ -template <int N> -struct TestHandler : public Handler<DummyFrame> { - TestHandler(DummyContext c) : context(c) {} - - void handle(DummyFrame frame) { - handledBy.push_back(N+context); - nextHandler(frame); - } - - typedef HandlerFactoryImpl<TestHandler<N>, DummyContext> Factory; - DummyContext context; -}; - - - -BOOST_AUTO_TEST_CASE(handlerChains) { - TestHandler<1>::Factory a; - TestHandler<2>::Factory b; - TestHandler<3>::Factory c; - HandlerFactoryChain<DummyFrame, DummyContext> factory; - factory.push_back(&a); - factory.push_back(&b); - factory.push_back(&c); - factory.create(10)->handle(1); - - vector<int> expect; - expect = list_of(11)(12)(13); - BOOST_CHECK_EQUAL(expect, handledBy); -} - - diff --git a/cpp/src/tests/InProcessBroker.h b/cpp/src/tests/InProcessBroker.h index 96f8ce72cf..8628bde431 100644 --- a/cpp/src/tests/InProcessBroker.h +++ b/cpp/src/tests/InProcessBroker.h @@ -48,15 +48,15 @@ class InProcessBroker : public client::Connector { /** A frame tagged with the sender */ struct TaggedFrame { - TaggedFrame(Sender e, framing::AMQFrame* f) : frame(f), sender(e) {} + TaggedFrame(Sender e, framing::AMQFrame& f) : frame(f), sender(e) {} bool fromBroker() const { return sender == BROKER; } bool fromClient() const { return sender == CLIENT; } template <class MethodType> MethodType* asMethod() { - return dynamic_cast<MethodType*>(frame->getBody().get()); + return dynamic_cast<MethodType*>(frame.getBody().get()); } - shared_ptr<framing::AMQFrame> frame; + framing::AMQFrame frame; Sender sender; }; @@ -85,7 +85,7 @@ class InProcessBroker : public client::Connector { } /** Called by client to send a frame */ - void send(framing::AMQFrame* frame) { + void send(framing::AMQFrame& frame) { clientOut.send(frame); } @@ -100,7 +100,7 @@ class InProcessBroker : public client::Connector { framing::InputHandler* ih=0 ) : sender(sender_), conversation(conversation_), in(ih) {} - void send(framing::AMQFrame* frame) { + void send(framing::AMQFrame& frame) { conversation.push_back(TaggedFrame(sender, frame)); in->received(frame); } @@ -122,7 +122,7 @@ class InProcessBroker : public client::Connector { std::ostream& operator<<( std::ostream& out, const InProcessBroker::TaggedFrame& tf) { - return out << (tf.fromBroker()? "BROKER: ":"CLIENT: ") << *tf.frame; + return out << (tf.fromBroker()? "BROKER: ":"CLIENT: ") << tf.frame; } std::ostream& operator<<( diff --git a/cpp/src/tests/Makefile.am b/cpp/src/tests/Makefile.am index ebf1aa9f41..004693b582 100644 --- a/cpp/src/tests/Makefile.am +++ b/cpp/src/tests/Makefile.am @@ -25,10 +25,6 @@ unit_progs+=Url Url_SOURCES=Url.cpp test_tools.h Url_LDADD=-lboost_unit_test_framework $(lib_common) -unit_progs+=Handler -Handler_SOURCES=Handler.cpp test_tools.h -Handler_LDADD=-lboost_unit_test_framework $(lib_common) - include cluster.mk # NB: CppUnit test libraries below will be migrated to boost test programs. diff --git a/cpp/src/tests/MockChannel.h b/cpp/src/tests/MockChannel.h index cadfa83b56..908a222614 100644 --- a/cpp/src/tests/MockChannel.h +++ b/cpp/src/tests/MockChannel.h @@ -25,12 +25,12 @@ #include "qpid/framing/AMQFrame.h" #include "qpid/framing/BasicGetBody.h" #include <boost/shared_ptr.hpp> -#include <boost/ptr_container/ptr_vector.hpp> +#include <vector> /** Mock output handler to collect frames */ struct MockOutputHandler : public qpid::framing::OutputHandler { - boost::ptr_vector<qpid::framing::AMQFrame> frames; - void send(qpid::framing::AMQFrame* frame){ frames.push_back(frame); } + std::vector<qpid::framing::AMQFrame> frames; + void send(qpid::framing::AMQFrame& frame){ frames.push_back(frame); } }; /** |