summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/ISList.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-06-04 19:26:44 +0000
committerAlan Conway <aconway@apache.org>2008-06-04 19:26:44 +0000
commit2516777d0dfa1e1cfd382f7357feb3ad17c8882c (patch)
tree7668ac0cb1c691255b9ddd5ec757a703b53c6195 /qpid/cpp/src/tests/ISList.cpp
parentdd5d148cd4bc062cd9db0ed8e4321fc41c6e3ae3 (diff)
downloadqpid-python-2516777d0dfa1e1cfd382f7357feb3ad17c8882c.tar.gz
Remove unused classes IList and ISList.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@663351 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/ISList.cpp')
-rw-r--r--qpid/cpp/src/tests/ISList.cpp216
1 files changed, 0 insertions, 216 deletions
diff --git a/qpid/cpp/src/tests/ISList.cpp b/qpid/cpp/src/tests/ISList.cpp
deleted file mode 100644
index ae16895803..0000000000
--- a/qpid/cpp/src/tests/ISList.cpp
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- *
- */
-#include "qpid/ISList.h"
-#include "qpid/RefCounted.h"
-#include "unit_test.h"
-#include "test_tools.h"
-#include <boost/assign/list_of.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/intrusive_ptr.hpp>
-#include <vector>
-
-QPID_AUTO_TEST_SUITE(ISListTestSuite)
-
-using namespace qpid;
-using namespace std;
-using boost::assign::list_of;
-using boost::intrusive_ptr;
-
-// Comparison, op== and << for ILists in qpid namespace for template lookup.
-
-template <class T, class S> bool operator==(const ISList<T>& a, const S& b) { return seqEqual(a, b); }
-template <class T> ostream& operator<<(std::ostream& o, const ISList<T>& l) { return seqPrint(o, l); }
-template <class T>
-ostream& operator<<(ostream& o, typename ISList<T>::iterator i) {
- return i? o << "(nil)" : o << *i;
-}
-
-struct NodeBase {
- static int instances;
- char value;
-
- NodeBase(char c) { value=c; ++instances; }
- NodeBase(const NodeBase& n) { value=n.value; ++instances; }
- ~NodeBase() { --instances; }
- bool operator==(const NodeBase& n) const { return value == n.value; }
-};
-
-int NodeBase::instances = 0;
-
-ostream& operator<<(ostream& o, const NodeBase& n) { return o << n.value; }
-
-struct Fixture {
- struct Node : public NodeBase, public ISListNode<Node*> {
- Node(char c) : NodeBase(c) {}
- };
- typedef ISList<Node> List;
- Node a, b, c, d, e;
- List l;
- Fixture() :a('a'),b('b'),c('c'),d('d'),e('e') {}
-};
-
-QPID_AUTO_TEST_CASE(default_ctor) {
- Fixture fix;
- BOOST_CHECK(fix.l.empty());
- BOOST_CHECK(fix.l.begin() == fix.l.end());
- BOOST_CHECK_EQUAL(0u, fix.l.size());
-}
-
-QPID_AUTO_TEST_CASE(push_front) {
- Fixture fix;
- fix.l.push_front(&(fix.a));
- BOOST_CHECK_EQUAL(1u, fix.l.size());
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.a));
- fix.l.push_front(&(fix.b));
- BOOST_CHECK_EQUAL(2u, fix.l.size());
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.b)(fix.a));
-}
-
-QPID_AUTO_TEST_CASE(push_back) {
- Fixture fix;
- fix.l.push_back(&(fix.a));
- BOOST_CHECK_EQUAL(1u, fix.l.size());
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.a));
- fix.l.push_back(&(fix.b));
- BOOST_CHECK_EQUAL(2u, fix.l.size());
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.a)(fix.b));
-}
-
-QPID_AUTO_TEST_CASE(insert) {
- Fixture fix;
- Fixture::List::iterator i(fix.l.begin());
- i = fix.l.insert(i, &(fix.a));
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.a));
- BOOST_CHECK(i == fix.l.begin());
-
- i = fix.l.insert(i, &(fix.b));
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.b)(fix.a));
- BOOST_CHECK(i == fix.l.begin());
-
- i++;
- BOOST_CHECK_EQUAL(*i, fix.a);
- i = fix.l.insert(i, &(fix.c));
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.b)(fix.c)(fix.a));
- BOOST_CHECK_EQUAL(*i, fix.c);
-
- i = fix.l.insert(i, &(fix.d));
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.b)(fix.d)(fix.c)(fix.a));
- BOOST_CHECK_EQUAL(*i, fix.d);
-}
-
-QPID_AUTO_TEST_CASE(iterator_test) {
- Fixture fix;
- fix.l.push_back(&(fix.a));
- fix.l.push_back(&(fix.b));
-
- Fixture::List::iterator i = fix.l.begin();
- BOOST_CHECK_EQUAL(*i, fix.a);
- BOOST_CHECK_EQUAL(static_cast<Fixture::Node*>(i), &(fix.a));
- Fixture::List::const_iterator ci = i;
- BOOST_CHECK_EQUAL(static_cast<const Fixture::Node*>(ci), &(fix.a));
-
- i++;
- BOOST_CHECK_EQUAL(*i, fix.b);
- BOOST_CHECK_EQUAL(static_cast<Fixture::Node*>(i), &(fix.b));
- i++;
- BOOST_CHECK(i == fix.l.end());
-}
-
-QPID_AUTO_TEST_CASE(pop_front) {
- Fixture fix;
- fix.l.push_back(&(fix.a));
- fix.l.push_back(&(fix.b));
- fix.l.pop_front();
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.b));
- fix.l.pop_front();
- BOOST_CHECK(fix.l.empty());
-}
-
-QPID_AUTO_TEST_CASE(erase) {
- Fixture fix;
- fix.l.push_back(&(fix.a));
- fix.l.push_back(&(fix.b));
- fix.l.push_back(&(fix.c));
-
- Fixture::List::iterator i=fix.l.begin();
- i++;
- fix.l.erase(i);
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.a)(fix.c));
-
- i=fix.l.begin();
- i++;
- fix.l.erase(i);
- BOOST_CHECK_EQUAL(fix.l, list_of(fix.a));
-
- fix.l.erase(fix.l.begin());
- BOOST_CHECK(fix.l.empty());
-}
-
-
-// ================ Test smart pointer types.
-
-template <class Node> void smart_pointer_test() {
- typedef typename Node::pointer pointer;
- typedef ISList<Node> List;
- List l;
-
- BOOST_CHECK_EQUAL(0, NodeBase::instances);
- l.push_back(pointer(new Node()));
- l.push_back(pointer(new Node()));
- BOOST_CHECK_EQUAL(2, NodeBase::instances); // maintains a reference.
-
- pointer p = l.begin();
- l.pop_front();
- BOOST_CHECK_EQUAL(2, NodeBase::instances); // transfers ownership.
- p = pointer();
- BOOST_CHECK_EQUAL(1, NodeBase::instances);
-
- l.clear();
- BOOST_CHECK_EQUAL(0, NodeBase::instances);
- { // Dtor cleans up
- List ll;
- ll.push_back(pointer(new Node()));
- BOOST_CHECK_EQUAL(1, NodeBase::instances);
- }
- BOOST_CHECK_EQUAL(0, NodeBase::instances);
-}
-
-struct IntrusiveNode : public NodeBase, public RefCounted,
- public ISListNode<intrusive_ptr<IntrusiveNode> >
-{
- IntrusiveNode() : NodeBase(0) {}
-};
-
-
-QPID_AUTO_TEST_CASE(intrusive_ptr_test) {
- smart_pointer_test<IntrusiveNode>();
-}
-
-
-struct SharedNode : public NodeBase, public ISListNode<boost::shared_ptr<SharedNode> > {
- SharedNode() : NodeBase(0) {}
-};
-
-QPID_AUTO_TEST_CASE(shared_ptr_test) {
- smart_pointer_test<SharedNode>();
-}
-
-QPID_AUTO_TEST_SUITE_END()