diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2011-05-27 15:44:23 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2011-05-27 15:44:23 +0000 |
commit | 66765100f4257159622cefe57bed50125a5ad017 (patch) | |
tree | a88ee23bb194eb91f0ebb2d9b23ff423e3ea8e37 /cpp/src/tests/InlineVector.cpp | |
parent | 1aeaa7b16e5ce54f10c901d75c4d40f9f88b9db6 (diff) | |
parent | 88b98b2f4152ef59a671fad55a0d08338b6b78ca (diff) | |
download | qpid-python-rajith_jms_client.tar.gz |
Creating a branch for experimenting with some ideas for JMS client.rajith_jms_client
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/rajith_jms_client@1128369 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/InlineVector.cpp')
-rw-r--r-- | cpp/src/tests/InlineVector.cpp | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/cpp/src/tests/InlineVector.cpp b/cpp/src/tests/InlineVector.cpp deleted file mode 100644 index ba5165886d..0000000000 --- a/cpp/src/tests/InlineVector.cpp +++ /dev/null @@ -1,128 +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/InlineVector.h" -#include "unit_test.h" - -namespace qpid { -namespace tests { - -QPID_AUTO_TEST_SUITE(InlineVectorTestSuite) - -using namespace qpid; -using namespace std; - -typedef InlineVector<int, 3> Vec; - -bool isInline(const Vec& v) { - // If nothing, give it the benefit of the doubt; - // can't take address of nothing. - if (v.size() <= 0) - return true; - return (const char*)&v <= (const char*)(&v[0]) && - (const char*)(&v[0]) < (const char*)&v+sizeof(v); -} - -QPID_AUTO_TEST_CASE(testCtor) { - { - Vec v; - BOOST_CHECK(isInline(v)); - BOOST_CHECK(v.empty()); - } - { - Vec v(3, 42); - BOOST_CHECK(isInline(v)); - BOOST_CHECK_EQUAL(3u, v.size()); - BOOST_CHECK_EQUAL(v[0], 42); - BOOST_CHECK_EQUAL(v[2], 42); - - Vec u(v); - BOOST_CHECK(isInline(u)); - BOOST_CHECK_EQUAL(3u, u.size()); - BOOST_CHECK_EQUAL(u[0], 42); - BOOST_CHECK_EQUAL(u[2], 42); - } - - { - Vec v(4, 42); - - BOOST_CHECK_EQUAL(v.size(), 4u); - BOOST_CHECK(!isInline(v)); - Vec u(v); - BOOST_CHECK_EQUAL(u.size(), 4u); - BOOST_CHECK(!isInline(u)); - } -} - -QPID_AUTO_TEST_CASE(testInsert) { - { - Vec v; - v.push_back(1); - BOOST_CHECK_EQUAL(v.size(), 1u); - BOOST_CHECK_EQUAL(v.back(), 1); - BOOST_CHECK(isInline(v)); - - v.insert(v.begin(), 2); - BOOST_CHECK_EQUAL(v.size(), 2u); - BOOST_CHECK_EQUAL(v.back(), 1); - BOOST_CHECK(isInline(v)); - - v.push_back(3); - BOOST_CHECK(isInline(v)); - - v.push_back(4); - - BOOST_CHECK(!isInline(v)); - } - { - Vec v(3,42); - v.insert(v.begin(), 9); - BOOST_CHECK_EQUAL(v.size(), 4u); - BOOST_CHECK(!isInline(v)); - } - { - Vec v(3,42); - v.insert(v.begin()+1, 9); - BOOST_CHECK(!isInline(v)); - BOOST_CHECK_EQUAL(v.size(), 4u); - } -} - -QPID_AUTO_TEST_CASE(testAssign) { - Vec v(3,42); - Vec u; - u = v; - BOOST_CHECK(isInline(u)); - u.push_back(4); - BOOST_CHECK(!isInline(u)); - v = u; - BOOST_CHECK(!isInline(v)); -} - -QPID_AUTO_TEST_CASE(testResize) { - Vec v; - v.resize(5); - BOOST_CHECK(!isInline(v)); -} - -QPID_AUTO_TEST_SUITE_END() - -}} // namespace qpid::tests |