summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/SequenceNumberTest.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-05-30 08:13:21 +0000
committerGordon Sim <gsim@apache.org>2008-05-30 08:13:21 +0000
commit0b1a16b3ef9e0b52aeb1ac2a6c73c150df3b46ee (patch)
tree4ea94807ca280da428354aa46f593a5e302aa356 /qpid/cpp/src/tests/SequenceNumberTest.cpp
parent45da8d73421052402add532d083991d4103d5753 (diff)
downloadqpid-python-0b1a16b3ef9e0b52aeb1ac2a6c73c150df3b46ee.tar.gz
Convert remaining cppunit tests to boost test framework to reduce dependencies.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@661587 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/SequenceNumberTest.cpp')
-rw-r--r--qpid/cpp/src/tests/SequenceNumberTest.cpp329
1 files changed, 157 insertions, 172 deletions
diff --git a/qpid/cpp/src/tests/SequenceNumberTest.cpp b/qpid/cpp/src/tests/SequenceNumberTest.cpp
index d227b78323..e4c6d066ef 100644
--- a/qpid/cpp/src/tests/SequenceNumberTest.cpp
+++ b/qpid/cpp/src/tests/SequenceNumberTest.cpp
@@ -19,202 +19,187 @@
*
*/
-#include "qpid_test_plugin.h"
+#include "unit_test.h"
#include <iostream>
#include "qpid/framing/SequenceNumber.h"
#include "qpid/framing/SequenceNumberSet.h"
using namespace qpid::framing;
-class SequenceNumberTest : public CppUnit::TestCase
+
+void checkDifference(SequenceNumber& a, SequenceNumber& b, int gap)
{
- CPPUNIT_TEST_SUITE(SequenceNumberTest);
- CPPUNIT_TEST(testIncrementPostfix);
- CPPUNIT_TEST(testIncrementPrefix);
- CPPUNIT_TEST(testWrapAround);
- CPPUNIT_TEST(testCondense);
- CPPUNIT_TEST(testCondenseSingleRange);
- CPPUNIT_TEST(testCondenseSingleItem);
- CPPUNIT_TEST(testDifference);
- CPPUNIT_TEST(testDifferenceWithWrapAround1);
- CPPUNIT_TEST(testDifferenceWithWrapAround2);
- CPPUNIT_TEST_SUITE_END();
-
- public:
-
- void testIncrementPostfix()
- {
- SequenceNumber a;
- SequenceNumber b;
- CPPUNIT_ASSERT(!(a > b));
- CPPUNIT_ASSERT(!(b < a));
- CPPUNIT_ASSERT(a == b);
-
- SequenceNumber c = a++;
- CPPUNIT_ASSERT(a > b);
- CPPUNIT_ASSERT(b < a);
- CPPUNIT_ASSERT(a != b);
- CPPUNIT_ASSERT(c < a);
- CPPUNIT_ASSERT(a != c);
-
- b++;
- CPPUNIT_ASSERT(!(a > b));
- CPPUNIT_ASSERT(!(b < a));
- CPPUNIT_ASSERT(a == b);
- CPPUNIT_ASSERT(c < b);
- CPPUNIT_ASSERT(b != c);
- }
+ BOOST_CHECK_EQUAL(gap, a - b);
+ BOOST_CHECK_EQUAL(-gap, b - a);
- void testIncrementPrefix()
- {
- SequenceNumber a;
- SequenceNumber b;
- CPPUNIT_ASSERT(!(a > b));
- CPPUNIT_ASSERT(!(b < a));
- CPPUNIT_ASSERT(a == b);
-
- SequenceNumber c = ++a;
- CPPUNIT_ASSERT(a > b);
- CPPUNIT_ASSERT(b < a);
- CPPUNIT_ASSERT(a != b);
- CPPUNIT_ASSERT(a == c);
-
- ++b;
- CPPUNIT_ASSERT(!(a > b));
- CPPUNIT_ASSERT(!(b < a));
- CPPUNIT_ASSERT(a == b);
+ //increment until b wraps around
+ for (int i = 0; i < (gap + 2); i++, ++a, ++b) {
+ BOOST_CHECK_EQUAL(gap, a - b);
}
-
- void testWrapAround()
- {
- const uint32_t max = 0xFFFFFFFF;
- SequenceNumber a(max - 10);
- SequenceNumber b(max - 5);
- checkComparison(a, b, 5);
-
- const uint32_t max_signed = 0x7FFFFFFF;
- SequenceNumber c(max_signed - 10);
- SequenceNumber d(max_signed - 5);
- checkComparison(c, d, 5);
+ //keep incrementing until a also wraps around
+ for (int i = 0; i < (gap + 2); i++, ++a, ++b) {
+ BOOST_CHECK_EQUAL(gap, a - b);
}
-
- void checkComparison(SequenceNumber& a, SequenceNumber& b, int gap)
- {
- //increment until b wraps around
- for (int i = 0; i < (gap + 2); i++) {
- CPPUNIT_ASSERT(++a < ++b);//test prefix
- }
- //keep incrementing until a also wraps around
- for (int i = 0; i < (gap + 2); i++) {
- CPPUNIT_ASSERT(a++ < b++);//test postfix
- }
- //let a 'catch up'
- for (int i = 0; i < gap; i++) {
- a++;
- }
- CPPUNIT_ASSERT(a == b);
- CPPUNIT_ASSERT(++a > b);
+ //let b catch up and overtake
+ for (int i = 0; i < (gap*2); i++, ++b) {
+ BOOST_CHECK_EQUAL(gap - i, a - b);
+ BOOST_CHECK_EQUAL(i - gap, b - a);
}
+}
- void testCondense()
- {
- SequenceNumberSet set;
- for (uint i = 0; i < 6; i++) {
- set.push_back(SequenceNumber(i));
- }
- set.push_back(SequenceNumber(7));
- for (uint i = 9; i < 13; i++) {
- set.push_back(SequenceNumber(i));
- }
- set.push_back(SequenceNumber(13));
- SequenceNumberSet actual = set.condense();
-
- SequenceNumberSet expected;
- expected.addRange(SequenceNumber(0), SequenceNumber(5));
- expected.addRange(SequenceNumber(7), SequenceNumber(7));
- expected.addRange(SequenceNumber(9), SequenceNumber(13));
- CPPUNIT_ASSERT_EQUAL(expected, actual);
+void checkComparison(SequenceNumber& a, SequenceNumber& b, int gap)
+{
+ //increment until b wraps around
+ for (int i = 0; i < (gap + 2); i++) {
+ BOOST_CHECK(++a < ++b);//test prefix
+ }
+ //keep incrementing until a also wraps around
+ for (int i = 0; i < (gap + 2); i++) {
+ BOOST_CHECK(a++ < b++);//test postfix
}
+ //let a 'catch up'
+ for (int i = 0; i < gap; i++) {
+ a++;
+ }
+ BOOST_CHECK(a == b);
+ BOOST_CHECK(++a > b);
+}
+
+
+QPID_AUTO_TEST_SUITE(SequenceNumberTestSuite)
- void testCondenseSingleRange()
- {
- SequenceNumberSet set;
- for (uint i = 0; i < 6; i++) {
- set.push_back(SequenceNumber(i));
- }
- SequenceNumberSet actual = set.condense();
-
- SequenceNumberSet expected;
- expected.addRange(SequenceNumber(0), SequenceNumber(5));
- CPPUNIT_ASSERT_EQUAL(expected, actual);
+QPID_AUTO_TEST_CASE(testIncrementPostfix)
+{
+ SequenceNumber a;
+ SequenceNumber b;
+ BOOST_CHECK(!(a > b));
+ BOOST_CHECK(!(b < a));
+ BOOST_CHECK(a == b);
+
+ SequenceNumber c = a++;
+ BOOST_CHECK(a > b);
+ BOOST_CHECK(b < a);
+ BOOST_CHECK(a != b);
+ BOOST_CHECK(c < a);
+ BOOST_CHECK(a != c);
+
+ b++;
+ BOOST_CHECK(!(a > b));
+ BOOST_CHECK(!(b < a));
+ BOOST_CHECK(a == b);
+ BOOST_CHECK(c < b);
+ BOOST_CHECK(b != c);
+}
+
+QPID_AUTO_TEST_CASE(testIncrementPrefix)
+{
+ SequenceNumber a;
+ SequenceNumber b;
+ BOOST_CHECK(!(a > b));
+ BOOST_CHECK(!(b < a));
+ BOOST_CHECK(a == b);
+
+ SequenceNumber c = ++a;
+ BOOST_CHECK(a > b);
+ BOOST_CHECK(b < a);
+ BOOST_CHECK(a != b);
+ BOOST_CHECK(a == c);
+
+ ++b;
+ BOOST_CHECK(!(a > b));
+ BOOST_CHECK(!(b < a));
+ BOOST_CHECK(a == b);
+}
+
+QPID_AUTO_TEST_CASE(testWrapAround)
+{
+ const uint32_t max = 0xFFFFFFFF;
+ SequenceNumber a(max - 10);
+ SequenceNumber b(max - 5);
+ checkComparison(a, b, 5);
+
+ const uint32_t max_signed = 0x7FFFFFFF;
+ SequenceNumber c(max_signed - 10);
+ SequenceNumber d(max_signed - 5);
+ checkComparison(c, d, 5);
+}
+
+QPID_AUTO_TEST_CASE(testCondense)
+{
+ SequenceNumberSet set;
+ for (uint i = 0; i < 6; i++) {
+ set.push_back(SequenceNumber(i));
+ }
+ set.push_back(SequenceNumber(7));
+ for (uint i = 9; i < 13; i++) {
+ set.push_back(SequenceNumber(i));
}
+ set.push_back(SequenceNumber(13));
+ SequenceNumberSet actual = set.condense();
- void testCondenseSingleItem()
- {
- SequenceNumberSet set;
- set.push_back(SequenceNumber(1));
- SequenceNumberSet actual = set.condense();
+ SequenceNumberSet expected;
+ expected.addRange(SequenceNumber(0), SequenceNumber(5));
+ expected.addRange(SequenceNumber(7), SequenceNumber(7));
+ expected.addRange(SequenceNumber(9), SequenceNumber(13));
+ BOOST_CHECK_EQUAL(expected, actual);
+}
- SequenceNumberSet expected;
- expected.addRange(SequenceNumber(1), SequenceNumber(1));
- CPPUNIT_ASSERT_EQUAL(expected, actual);
+QPID_AUTO_TEST_CASE(testCondenseSingleRange)
+{
+ SequenceNumberSet set;
+ for (uint i = 0; i < 6; i++) {
+ set.push_back(SequenceNumber(i));
}
+ SequenceNumberSet actual = set.condense();
- void testDifference()
- {
- SequenceNumber a;
- SequenceNumber b;
+ SequenceNumberSet expected;
+ expected.addRange(SequenceNumber(0), SequenceNumber(5));
+ BOOST_CHECK_EQUAL(expected, actual);
+}
- for (int i = 0; i < 10; i++, ++a) {
- CPPUNIT_ASSERT_EQUAL(i, a - b);
- CPPUNIT_ASSERT_EQUAL(-i, b - a);
- }
+QPID_AUTO_TEST_CASE(testCondenseSingleItem)
+{
+ SequenceNumberSet set;
+ set.push_back(SequenceNumber(1));
+ SequenceNumberSet actual = set.condense();
- b = a;
+ SequenceNumberSet expected;
+ expected.addRange(SequenceNumber(1), SequenceNumber(1));
+ BOOST_CHECK_EQUAL(expected, actual);
+}
- for (int i = 0; i < 10; i++, ++b) {
- CPPUNIT_ASSERT_EQUAL(-i, a - b);
- CPPUNIT_ASSERT_EQUAL(i, b - a);
- }
- }
+QPID_AUTO_TEST_CASE(testDifference)
+{
+ SequenceNumber a;
+ SequenceNumber b;
- void testDifferenceWithWrapAround1()
- {
- const uint32_t max = 0xFFFFFFFF;
- SequenceNumber a(max - 5);
- SequenceNumber b(max - 10);
- checkDifference(a, b, 5);
+ for (int i = 0; i < 10; i++, ++a) {
+ BOOST_CHECK_EQUAL(i, a - b);
+ BOOST_CHECK_EQUAL(-i, b - a);
}
- void testDifferenceWithWrapAround2()
- {
- const uint32_t max_signed = 0x7FFFFFFF;
- SequenceNumber c(max_signed - 5);
- SequenceNumber d(max_signed - 10);
- checkDifference(c, d, 5);
- }
+ b = a;
- void checkDifference(SequenceNumber& a, SequenceNumber& b, int gap)
- {
- CPPUNIT_ASSERT_EQUAL(gap, a - b);
- CPPUNIT_ASSERT_EQUAL(-gap, b - a);
-
- //increment until b wraps around
- for (int i = 0; i < (gap + 2); i++, ++a, ++b) {
- CPPUNIT_ASSERT_EQUAL(gap, a - b);
- }
- //keep incrementing until a also wraps around
- for (int i = 0; i < (gap + 2); i++, ++a, ++b) {
- CPPUNIT_ASSERT_EQUAL(gap, a - b);
- }
- //let b catch up and overtake
- for (int i = 0; i < (gap*2); i++, ++b) {
- CPPUNIT_ASSERT_EQUAL(gap - i, a - b);
- CPPUNIT_ASSERT_EQUAL(i - gap, b - a);
- }
+ for (int i = 0; i < 10; i++, ++b) {
+ BOOST_CHECK_EQUAL(-i, a - b);
+ BOOST_CHECK_EQUAL(i, b - a);
}
-};
-
-// Make this test suite a plugin.
-CPPUNIT_PLUGIN_IMPLEMENT();
-CPPUNIT_TEST_SUITE_REGISTRATION(SequenceNumberTest);
+}
+
+QPID_AUTO_TEST_CASE(testDifferenceWithWrapAround1)
+{
+ const uint32_t max = 0xFFFFFFFF;
+ SequenceNumber a(max - 5);
+ SequenceNumber b(max - 10);
+ checkDifference(a, b, 5);
+}
+
+QPID_AUTO_TEST_CASE(testDifferenceWithWrapAround2)
+{
+ const uint32_t max_signed = 0x7FFFFFFF;
+ SequenceNumber c(max_signed - 5);
+ SequenceNumber d(max_signed - 10);
+ checkDifference(c, d, 5);
+}
+
+QPID_AUTO_TEST_SUITE_END()