diff options
author | Gordon Sim <gsim@apache.org> | 2008-03-03 14:49:06 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2008-03-03 14:49:06 +0000 |
commit | b4dac41573e33e1a04a2b7b8c9a35f5e72b662bc (patch) | |
tree | 15e25a2dc7b42f3788f9dccdd7e632dcf8c346d2 /cpp/src/tests/SequenceSet.cpp | |
parent | 928699508993a5ccc59254027773281883d1e973 (diff) | |
download | qpid-python-b4dac41573e33e1a04a2b7b8c9a35f5e72b662bc.tar.gz |
A further step to final 0-10 spec.
The extra.xml fragment adds class defs for connection in session that are in line with latest spec but use old schema.
The preview codepath (99-0) remains unaltered.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@633108 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/SequenceSet.cpp')
-rw-r--r-- | cpp/src/tests/SequenceSet.cpp | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/cpp/src/tests/SequenceSet.cpp b/cpp/src/tests/SequenceSet.cpp new file mode 100644 index 0000000000..bffeed648e --- /dev/null +++ b/cpp/src/tests/SequenceSet.cpp @@ -0,0 +1,93 @@ +/* + * + * 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. + * + */ + +#include "qpid/framing/SequenceSet.h" +#include "unit_test.h" + +QPID_AUTO_TEST_SUITE(SequenceSetTestSuite) + +using namespace qpid::framing; + +BOOST_AUTO_TEST_CASE(testAdd) { + SequenceSet s; + s.add(2); + s.add(8,8); + s.add(3,5); + + for (uint32_t i = 0; i <= 1; i++) //0, 1 + BOOST_CHECK(!s.contains(i)); + + for (uint32_t i = 2; i <= 5; i++) //2, 3, 4 & 5 + BOOST_CHECK(s.contains(i)); + + for (uint32_t i = 0; i <= 1; i++) //6, 7 + BOOST_CHECK(!s.contains(i)); + + BOOST_CHECK(s.contains(8));//8 + + SequenceSet t; + t.add(6, 10); + t.add(s); + + for (uint32_t i = 0; i <= 1; i++) + BOOST_CHECK(!t.contains(i)); + + for (uint32_t i = 2; i <= 10; i++) + BOOST_CHECK(t.contains(i)); +} + +BOOST_AUTO_TEST_CASE(testRemove) { + SequenceSet s; + SequenceSet t; + s.add(0, 10); + t.add(0, 10); + + s.remove(7); + s.remove(3, 5); + s.remove(9, 10); + + t.remove(s); + + for (uint32_t i = 0; i <= 2; i++) { + BOOST_CHECK(s.contains(i)); + BOOST_CHECK(!t.contains(i)); + } + + for (uint32_t i = 3; i <= 5; i++) { + BOOST_CHECK(!s.contains(i)); + BOOST_CHECK(t.contains(i)); + } + + BOOST_CHECK(s.contains(6)); + BOOST_CHECK(!t.contains(6)); + + BOOST_CHECK(!s.contains(7)); + BOOST_CHECK(t.contains(7)); + + BOOST_CHECK(s.contains(8)); + BOOST_CHECK(!t.contains(8)); + + for (uint32_t i = 9; i <= 10; i++) { + BOOST_CHECK(!s.contains(i)); + BOOST_CHECK(t.contains(i)); + } +} + +QPID_AUTO_TEST_SUITE_END() + + |