summaryrefslogtreecommitdiff
path: root/TAO/tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp')
-rw-r--r--TAO/tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp347
1 files changed, 159 insertions, 188 deletions
diff --git a/TAO/tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp b/TAO/tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp
index 4ed1a2d2041..1a34645b8a6 100644
--- a/TAO/tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp
+++ b/TAO/tests/Sequence_Unit_Tests/bounded_value_sequence_ut.cpp
@@ -15,11 +15,9 @@
#include "value_sequence_tester.hpp"
-#include <boost/test/unit_test.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
+#include "test_macros.h"
+
-using namespace boost::unit_test_framework;
using namespace TAO_VERSIONED_NAMESPACE_NAME::TAO;
CORBA::ULong const MAXIMUM = 32;
@@ -33,7 +31,7 @@ struct Tester
{
typedef tested_sequence::value_type value_type;
- void test_set_length_less_than_maximum()
+ int test_set_length_less_than_maximum()
{
expected_calls a(tested_allocation_traits::allocbuf_calls);
expected_calls f(tested_allocation_traits::freebuf_calls);
@@ -41,19 +39,22 @@ struct Tester
tested_sequence x;
x.length(8);
- BOOST_CHECK_EQUAL(CORBA::ULong(MAXIMUM), x.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(8), x.length());
- BOOST_CHECK_EQUAL(true, x.release());
+ CHECK_EQUAL(CORBA::ULong(MAXIMUM), x.maximum());
+ CHECK_EQUAL(CORBA::ULong(8), x.length());
+ CHECK_EQUAL(true, x.release());
}
- BOOST_CHECK_MESSAGE(a.expect(0), a);
- BOOST_CHECK_MESSAGE(f.expect(1), f);
+ // Naturally buffer in x is allocated after length() was called.
+ FAIL_RETURN_IF_NOT(a.expect(1), a);
+ FAIL_RETURN_IF_NOT(f.expect(1), f);
+ return 0;
}
- void test_set_length_more_than_maximum()
+ int test_set_length_more_than_maximum()
{
tested_sequence x;
- BOOST_CHECK_THROW(x.length(64), std::runtime_error);
+ CHECK_THROW(x.length(64), std::runtime_error);
+ return 0;
}
value_type * alloc_and_init_buffer()
@@ -64,36 +65,36 @@ struct Tester
return buf;
}
- void test_regression_2201 ()
+ int test_regression_2201 ()
{
value_type * buffer = alloc_and_init_buffer();
expected_calls a(tested_allocation_traits::allocbuf_calls);
expected_calls f(tested_allocation_traits::freebuf_calls);
{
- tested_sequence a(32, buffer);
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.length());
- BOOST_CHECK_EQUAL(buffer, a.get_buffer());
- BOOST_CHECK_EQUAL(int( 1), a[0]);
- BOOST_CHECK_EQUAL(int( 4), a[1]);
- BOOST_CHECK_EQUAL(int( 9), a[2]);
- BOOST_CHECK_EQUAL(int(16), a[3]);
- BOOST_CHECK_EQUAL(false, a.release());
- a.length (3);
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(3), a.length());
- a.length (4);
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
- BOOST_CHECK_EQUAL(int( 0), a[3]);
+ tested_sequence x(32, buffer, true);
+ CHECK_EQUAL(CORBA::ULong(32), x.maximum());
+ CHECK_EQUAL(CORBA::ULong(32), x.length());
+ CHECK_EQUAL(buffer, x.get_buffer());
+ CHECK_EQUAL(int( 1), x[0]);
+ CHECK_EQUAL(int( 4), x[1]);
+ CHECK_EQUAL(int( 9), x[2]);
+ CHECK_EQUAL(int(16), x[3]);
+ CHECK_EQUAL(true, x.release());
+ x.length (3);
+ CHECK_EQUAL(CORBA::ULong(32), x.maximum());
+ CHECK_EQUAL(CORBA::ULong(3), x.length());
+ x.length (4);
+ CHECK_EQUAL(CORBA::ULong(32), x.maximum());
+ CHECK_EQUAL(CORBA::ULong(4), x.length());
+ CHECK_EQUAL(int( 0), x[3]);
}
- BOOST_CHECK_MESSAGE(a.expect(0), a);
- BOOST_CHECK_MESSAGE(f.expect(0), f);
- tested_sequence::freebuf(buffer);
+ FAIL_RETURN_IF_NOT(a.expect(0), a);
+ FAIL_RETURN_IF_NOT(f.expect(1), f);
+ return 0;
}
- void test_buffer_constructor_default()
+ int test_buffer_constructor_default()
{
value_type * buffer = alloc_and_init_buffer();
@@ -101,62 +102,65 @@ struct Tester
expected_calls f(tested_allocation_traits::freebuf_calls);
{
tested_sequence a(4, buffer);
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
- BOOST_CHECK_EQUAL(buffer, a.get_buffer());
- BOOST_CHECK_EQUAL(int( 1), a[0]);
- BOOST_CHECK_EQUAL(int( 4), a[1]);
- BOOST_CHECK_EQUAL(int( 9), a[2]);
- BOOST_CHECK_EQUAL(int(16), a[3]);
- BOOST_CHECK_EQUAL(false, a.release());
+ CHECK_EQUAL(CORBA::ULong(32), a.maximum());
+ CHECK_EQUAL(CORBA::ULong(4), a.length());
+ CHECK_EQUAL(buffer, a.get_buffer());
+ CHECK_EQUAL(int( 1), a[0]);
+ CHECK_EQUAL(int( 4), a[1]);
+ CHECK_EQUAL(int( 9), a[2]);
+ CHECK_EQUAL(int(16), a[3]);
+ CHECK_EQUAL(false, a.release());
}
- BOOST_CHECK_MESSAGE(a.expect(0), a);
- BOOST_CHECK_MESSAGE(f.expect(0), f);
+ FAIL_RETURN_IF_NOT(a.expect(0), a);
+ FAIL_RETURN_IF_NOT(f.expect(0), f);
tested_sequence::freebuf(buffer);
+ return 0;
}
- void test_buffer_constructor_false()
+ int test_buffer_constructor_false()
{
value_type * buffer = alloc_and_init_buffer();
expected_calls a(tested_allocation_traits::allocbuf_calls);
expected_calls f(tested_allocation_traits::freebuf_calls);
{
tested_sequence a(4, buffer, false);
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
- BOOST_CHECK_EQUAL(buffer, a.get_buffer());
- BOOST_CHECK_EQUAL(int( 1), a[0]);
- BOOST_CHECK_EQUAL(int( 4), a[1]);
- BOOST_CHECK_EQUAL(int( 9), a[2]);
- BOOST_CHECK_EQUAL(int(16), a[3]);
- BOOST_CHECK_EQUAL(false, a.release());
+ CHECK_EQUAL(CORBA::ULong(32), a.maximum());
+ CHECK_EQUAL(CORBA::ULong(4), a.length());
+ CHECK_EQUAL(buffer, a.get_buffer());
+ CHECK_EQUAL(int( 1), a[0]);
+ CHECK_EQUAL(int( 4), a[1]);
+ CHECK_EQUAL(int( 9), a[2]);
+ CHECK_EQUAL(int(16), a[3]);
+ CHECK_EQUAL(false, a.release());
}
- BOOST_CHECK_MESSAGE(a.expect(0), a);
- BOOST_CHECK_MESSAGE(f.expect(0), f);
+ FAIL_RETURN_IF_NOT(a.expect(0), a);
+ FAIL_RETURN_IF_NOT(f.expect(0), f);
tested_sequence::freebuf(buffer);
+ return 0;
}
- void test_buffer_constructor_true()
+ int test_buffer_constructor_true()
{
value_type * buffer = alloc_and_init_buffer();
expected_calls a(tested_allocation_traits::allocbuf_calls);
expected_calls f(tested_allocation_traits::freebuf_calls);
{
tested_sequence a(4, buffer, true);
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
- BOOST_CHECK_EQUAL(buffer, a.get_buffer());
- BOOST_CHECK_EQUAL(int( 1), a[0]);
- BOOST_CHECK_EQUAL(int( 4), a[1]);
- BOOST_CHECK_EQUAL(int( 9), a[2]);
- BOOST_CHECK_EQUAL(int(16), a[3]);
- BOOST_CHECK_EQUAL(true, a.release());
+ CHECK_EQUAL(CORBA::ULong(32), a.maximum());
+ CHECK_EQUAL(CORBA::ULong(4), a.length());
+ CHECK_EQUAL(buffer, a.get_buffer());
+ CHECK_EQUAL(int( 1), a[0]);
+ CHECK_EQUAL(int( 4), a[1]);
+ CHECK_EQUAL(int( 9), a[2]);
+ CHECK_EQUAL(int(16), a[3]);
+ CHECK_EQUAL(true, a.release());
}
- BOOST_CHECK_MESSAGE(a.expect(0), a);
- BOOST_CHECK_MESSAGE(f.expect(1), f);
+ FAIL_RETURN_IF_NOT(a.expect(0), a);
+ FAIL_RETURN_IF_NOT(f.expect(1), f);
+ return 0;
}
- void test_replace_default()
+ int test_replace_default()
{
value_type * buffer = alloc_and_init_buffer();
@@ -165,24 +169,26 @@ struct Tester
{
tested_sequence a;
a.replace(4, buffer);
- BOOST_CHECK_MESSAGE(c.expect(0), c);
- BOOST_CHECK_MESSAGE(f.expect(1), f);
-
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
- BOOST_CHECK_EQUAL(buffer, a.get_buffer());
- BOOST_CHECK_EQUAL(int( 1), a[0]);
- BOOST_CHECK_EQUAL(int( 4), a[1]);
- BOOST_CHECK_EQUAL(int( 9), a[2]);
- BOOST_CHECK_EQUAL(int(16), a[3]);
- BOOST_CHECK_EQUAL(false, a.release());
+ FAIL_RETURN_IF_NOT(c.expect(0), c);
+ // Default constructed sequence doesn't allocate a buffer.
+ FAIL_RETURN_IF_NOT(f.expect(0), f);
+
+ CHECK_EQUAL(CORBA::ULong(32), a.maximum());
+ CHECK_EQUAL(CORBA::ULong(4), a.length());
+ CHECK_EQUAL(buffer, a.get_buffer());
+ CHECK_EQUAL(int( 1), a[0]);
+ CHECK_EQUAL(int( 4), a[1]);
+ CHECK_EQUAL(int( 9), a[2]);
+ CHECK_EQUAL(int(16), a[3]);
+ CHECK_EQUAL(false, a.release());
}
- BOOST_CHECK_MESSAGE(c.expect(0), c);
- BOOST_CHECK_MESSAGE(f.expect(0), f);
+ FAIL_RETURN_IF_NOT(c.expect(0), c);
+ FAIL_RETURN_IF_NOT(f.expect(0), f);
tested_sequence::freebuf(buffer);
+ return 0;
}
- void test_replace_false()
+ int test_replace_false()
{
value_type * buffer = alloc_and_init_buffer();
expected_calls c(tested_allocation_traits::allocbuf_calls);
@@ -191,24 +197,26 @@ struct Tester
{
tested_sequence a;
a.replace(4, buffer, false);
- BOOST_CHECK_MESSAGE(c.expect(0), c);
- BOOST_CHECK_MESSAGE(f.expect(1), f);
-
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
- BOOST_CHECK_EQUAL(buffer, a.get_buffer());
- BOOST_CHECK_EQUAL(int( 1), a[0]);
- BOOST_CHECK_EQUAL(int( 4), a[1]);
- BOOST_CHECK_EQUAL(int( 9), a[2]);
- BOOST_CHECK_EQUAL(int(16), a[3]);
- BOOST_CHECK_EQUAL(false, a.release());
+ FAIL_RETURN_IF_NOT(c.expect(0), c);
+ // Default constructed sequence doesn't allocate a buffer.
+ FAIL_RETURN_IF_NOT(f.expect(0), f);
+
+ CHECK_EQUAL(CORBA::ULong(32), a.maximum());
+ CHECK_EQUAL(CORBA::ULong(4), a.length());
+ CHECK_EQUAL(buffer, a.get_buffer());
+ CHECK_EQUAL(int( 1), a[0]);
+ CHECK_EQUAL(int( 4), a[1]);
+ CHECK_EQUAL(int( 9), a[2]);
+ CHECK_EQUAL(int(16), a[3]);
+ CHECK_EQUAL(false, a.release());
}
- BOOST_CHECK_MESSAGE(c.expect(0), c);
- BOOST_CHECK_MESSAGE(f.expect(0), f);
+ FAIL_RETURN_IF_NOT(c.expect(0), c);
+ FAIL_RETURN_IF_NOT(f.expect(0), f);
tested_sequence::freebuf(buffer);
+ return 0;
}
- void test_replace_true()
+ int test_replace_true()
{
value_type * buffer = alloc_and_init_buffer();
expected_calls c(tested_allocation_traits::allocbuf_calls);
@@ -217,144 +225,107 @@ struct Tester
{
tested_sequence a;
a.replace(4, buffer, true);
- BOOST_CHECK_MESSAGE(c.expect(0), c);
- BOOST_CHECK_MESSAGE(f.expect(1), f);
-
- BOOST_CHECK_EQUAL(CORBA::ULong(32), a.maximum());
- BOOST_CHECK_EQUAL(CORBA::ULong(4), a.length());
- BOOST_CHECK_EQUAL(buffer, a.get_buffer());
- BOOST_CHECK_EQUAL(int( 1), a[0]);
- BOOST_CHECK_EQUAL(int( 4), a[1]);
- BOOST_CHECK_EQUAL(int( 9), a[2]);
- BOOST_CHECK_EQUAL(int(16), a[3]);
- BOOST_CHECK_EQUAL(true, a.release());
+ FAIL_RETURN_IF_NOT(c.expect(0), c);
+ // Default constructed sequence doesn't allocate a buffer.
+ FAIL_RETURN_IF_NOT(f.expect(0), f);
+
+ CHECK_EQUAL(CORBA::ULong(32), a.maximum());
+ CHECK_EQUAL(CORBA::ULong(4), a.length());
+ CHECK_EQUAL(buffer, a.get_buffer());
+ CHECK_EQUAL(int( 1), a[0]);
+ CHECK_EQUAL(int( 4), a[1]);
+ CHECK_EQUAL(int( 9), a[2]);
+ CHECK_EQUAL(int(16), a[3]);
+ CHECK_EQUAL(true, a.release());
}
- BOOST_CHECK_MESSAGE(c.expect(0), c);
- BOOST_CHECK_MESSAGE(f.expect(1), f);
+ FAIL_RETURN_IF_NOT(c.expect(0), c);
+ FAIL_RETURN_IF_NOT(f.expect(1), f);
+ return 0;
}
- void test_get_buffer_default()
+ int test_get_buffer_default()
{
value_type * buffer = alloc_and_init_buffer();
tested_sequence a(4, buffer, true);
- BOOST_CHECK_EQUAL(a.get_buffer(), buffer);
+ CHECK_EQUAL(a.get_buffer(), buffer);
+ return 0;
}
- void test_get_buffer_false()
+ int test_get_buffer_false()
{
value_type * buffer = alloc_and_init_buffer();
tested_sequence a(4, buffer, true);
- BOOST_CHECK_EQUAL(a.get_buffer(), buffer);
+ CHECK_EQUAL(a.get_buffer(), buffer);
+ return 0;
}
- void test_get_buffer_true_with_release_false()
+ int test_get_buffer_true_with_release_false()
{
value_type * buffer = alloc_and_init_buffer();
tested_sequence a(4, buffer, false);
- BOOST_CHECK(0 == a.get_buffer(true));
+ CHECK(0 == a.get_buffer(true));
tested_sequence::freebuf(buffer);
+ return 0;
}
- void test_get_buffer_true_with_release_true()
+ int test_get_buffer_true_with_release_true()
{
value_type * buffer = alloc_and_init_buffer();
expected_calls c(tested_allocation_traits::default_buffer_allocation_calls);
expected_calls f(tested_allocation_traits::freebuf_calls);
{
tested_sequence a(4, buffer, true);
- BOOST_CHECK_EQUAL(buffer, a.get_buffer(true));
+ CHECK_EQUAL(buffer, a.get_buffer(true));
tested_sequence const & b = a;
- BOOST_CHECK_EQUAL(MAXIMUM, b.maximum());
- BOOST_CHECK_EQUAL(0UL, b.length());
- BOOST_CHECK(0 != b.get_buffer());
- BOOST_CHECK_EQUAL(true, b.release());
+ CHECK_EQUAL(MAXIMUM, b.maximum());
+ CHECK_EQUAL(0UL, b.length());
+ CHECK(0 != b.get_buffer());
+ CHECK_EQUAL(true, b.release());
- BOOST_CHECK_MESSAGE(c.expect(1), c);
+ FAIL_RETURN_IF_NOT(c.expect(1), c);
- BOOST_CHECK(buffer != b.get_buffer());
+ CHECK(buffer != b.get_buffer());
}
- BOOST_CHECK_MESSAGE(c.expect(0), c);
- BOOST_CHECK_MESSAGE(f.expect(1), c);
+ FAIL_RETURN_IF_NOT(c.expect(0), c);
+ FAIL_RETURN_IF_NOT(f.expect(1), c);
tested_sequence::freebuf(buffer);
+ return 0;
}
- void add_all(test_suite * ts)
+ int test_all()
{
- boost::shared_ptr<Tester> shared_this(self_);
-
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_set_length_less_than_maximum,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_set_length_more_than_maximum,
- shared_this));
-
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_regression_2201,
- shared_this));
-
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_buffer_constructor_default,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_buffer_constructor_false,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_buffer_constructor_true,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_replace_default,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_replace_false,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_replace_true,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_get_buffer_false,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_get_buffer_true_with_release_false,
- shared_this));
- ts->add(BOOST_CLASS_TEST_CASE(
- &Tester::test_get_buffer_true_with_release_true,
- shared_this));
-
+ int status = 0;
+ status += this->test_set_length_less_than_maximum();
+ status += this->test_set_length_more_than_maximum();
+ status += this->test_regression_2201();
+ status += this->test_buffer_constructor_default();
+ status += this->test_buffer_constructor_false();
+ status += this->test_buffer_constructor_true();
+ status += this->test_replace_default();
+ status += this->test_replace_false();
+ status += this->test_replace_true();
+ status += this->test_get_buffer_false();
+ status += this->test_get_buffer_true_with_release_false();
+ status += this->test_get_buffer_true_with_release_true();
+ return status;
}
-
- static boost::shared_ptr<Tester> allocate()
- {
- boost::shared_ptr<Tester> ptr(new Tester);
- ptr->self_ = ptr;
-
- return ptr;
- }
-
-private:
Tester() {}
-
- boost::weak_ptr<Tester> self_;
};
-ACE_Proper_Export_Flag test_suite *
-init_unit_test_suite(int, char*[])
+int ACE_TMAIN(int,ACE_TCHAR*[])
{
- test_suite * ts =
- BOOST_TEST_SUITE("unbounded value sequence unit test");
-
+ int status = 0;
{
- boost::shared_ptr<Tester> tester(Tester::allocate());
- tester->add_all(ts);
+ Tester tester;
+ status += tester.test_all ();
}
{
typedef value_sequence_tester<tested_sequence,tested_allocation_traits> common;
- boost::shared_ptr<common> tester(common::allocate(true));
- tester->add_all(ts);
+ common tester;
+ status += tester.test_all ();
}
- return ts;
+ return status;
}
-