diff options
author | Gordon Sim <gsim@apache.org> | 2008-05-30 08:13:21 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2008-05-30 08:13:21 +0000 |
commit | 0b1a16b3ef9e0b52aeb1ac2a6c73c150df3b46ee (patch) | |
tree | 4ea94807ca280da428354aa46f593a5e302aa356 /qpid/cpp/src/tests/SequenceNumberTest.cpp | |
parent | 45da8d73421052402add532d083991d4103d5753 (diff) | |
download | qpid-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.cpp | 329 |
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() |