diff options
Diffstat (limited to 'test/unit/reference_wrapper_test.cpp')
-rw-r--r-- | test/unit/reference_wrapper_test.cpp | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/test/unit/reference_wrapper_test.cpp b/test/unit/reference_wrapper_test.cpp deleted file mode 100644 index 4e3fb41..0000000 --- a/test/unit/reference_wrapper_test.cpp +++ /dev/null @@ -1,85 +0,0 @@ -#include <functional> - -#if !defined(_STLP_NO_EXTENSIONS) && defined(_STLP_USE_BOOST_SUPPORT) - -#include <typeinfo> -#include "cppunit/cppunit_proxy.h" - -#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) -using namespace std; -#endif - -class RefWrapperTest : - public CPPUNIT_NS::TestCase -{ - CPPUNIT_TEST_SUITE(RefWrapperTest); - CPPUNIT_TEST(ref); - CPPUNIT_TEST(cref); - CPPUNIT_TEST_SUITE_END(); - - protected: - void ref(); - void cref(); -}; - -CPPUNIT_TEST_SUITE_REGISTRATION(RefWrapperTest); - -void RefWrapperTest::ref() -{ - typedef std::tr1::reference_wrapper<int> rr_type; - - CPPUNIT_CHECK( (::boost::is_convertible<rr_type, int&>::value) ); - CPPUNIT_CHECK( (::boost::is_same<rr_type::type, int>::value) ); - - int i = 1; - int j = 2; - - rr_type r1 = std::tr1::ref(i); - - CPPUNIT_CHECK( r1.get() == 1 ); - - r1 = std::tr1::ref(j); - - CPPUNIT_CHECK( r1.get() == 2 ); - - i = 3; - - CPPUNIT_CHECK( r1.get() == 2 ); - - j = 4; - - CPPUNIT_CHECK( r1.get() == 4 ); - - r1.get() = 5; - - CPPUNIT_CHECK( j == 5 ); -} - -void RefWrapperTest::cref() -{ - typedef std::tr1::reference_wrapper<const int> crr_type; - - CPPUNIT_CHECK( (::boost::is_convertible<crr_type, const int&>::value) ); - CPPUNIT_CHECK( (::boost::is_same<crr_type::type, const int>::value) ); - - int i = 1; - int j = 2; - - crr_type r1 = std::tr1::cref(i); - - CPPUNIT_CHECK( r1.get() == 1 ); - - r1 = std::tr1::cref(j); - - CPPUNIT_CHECK( r1.get() == 2 ); - - i = 3; - - CPPUNIT_CHECK( r1.get() == 2 ); - - j = 4; - - CPPUNIT_CHECK( r1.get() == 4 ); -} - -#endif /* !_STLP_NO_EXTENSIONS && _STLP_USE_BOOST_SUPPORT */ |